<?php
 
 
$xml = new XMLReader();
$xmlfile="./full_database.xml";#文件路径
 
$xml->open($xmlfile);
 
$i=0;
 
while($xml->read()) {
    if($xml->name=='drug-interaction' and $xml->nodeType==XMLReader::ELEMENT) { // 进入 drug-interaction
        $inXml = $xml->readOuterXML(); // 获取当前整个 drug-interaction 内容(字符串)
        $inXml = simplexml_load_string($inXml); // 转换成 SimpleXMLElement 对象
        // 查询出来之后存到数据库中
        $conn=mysqli_connect("localhost","root","qwertyuip","qin-data");
if(!$conn)
{
die("连接数据库失败".mysqli_connect_errno($conn));
}else{
echo "成功<br/>";
}
mysqli_select_db($conn,"qin-data");
//设置字符集
mysqli_query($conn,"set name utf8");
        // var_dump(object2array($inXml));die;
        $inXml = object2array($inXml);
        // var_dump($inXml['drugbank-id']);die;
        $data['id'] = $inXml['drugbank-id'];
        $data['name'] = $inXml['name'];
        $data['description'] = $inXml['description'];
        $sql = "INSERT INTO interaction(id, name, description) VALUES('$data[id]','$data[name]','$data[description]')";
        $res=mysqli_query($conn,$sql);
        // var_dump($res);die;
        mysqli_close($conn);
}
$i++;
    // 继续读取 直到进入下一个 object
// if($i>5000){
//  continue;
// }
}
 
 
function object2array(&$object) {
    $object =  json_decode( json_encode( $object),true);
    return  $object;
}
 
 

需要注意几点:

1.使用mysqli 原生语句链接

2.使用simplexml_load_string 获取到值后为对象格式,应使用PHP转成数据格式在提取值

3.注意原生sql语句在PHP中的写法  , 字符串或者变量应该使用单引号'' 扩起来 ,外层使用双引号。

PHP 读取XML大文件格式并将其存入数据库中的更多相关文章

  1. 读取txt数据存入数据库中

    http://blog.csdn.net/daditao/article/details/18899469

  2. java读取excel的内容(可保存到数据库中)

    //** poi jar包 // public class ReadExcel { @SuppressWarnings("static-access") private stati ...

  3. 读取xml数据装配到字典中之应用场景

    前段时间看到支付宝设置里面有个多语言这个功能,蛮有意思的,就想双休没事的话做个相关的demo玩玩,可是礼拜六被妹子拽出去玩了一天,来大上海有大半年了,基本没有出去玩过,妹子说我是超级宅男,也不带她出去 ...

  4. ASP.Net将图片以二进制方式存入数据库,并读取

    把图片转换成二进制--把二进制转换成图片 private void button1_Click(object sender, EventArgs e) { string path = this.tex ...

  5. 基于easyui框架中input 类型的checkbox拼接成字符串存入数据库和读取选中---善良公社项目

    项目中我做修改用户个人资料的时候,有一个需求是帮助人员的帮助类型如图下所示: 当初想如果是asp.net控件的话应该很简单实现,如果不是基于easyUI框架那就太简单了,现在是受框架的限制与是前端ht ...

  6. MySQL数据库中tinyint字段值为1,读取出来为true的问题

    原文:https://blog.csdn.net/shuyou612/article/details/46788475 MySQL数据库中tinyint字段值为1,读取出来为true的问题   今天在 ...

  7. wcf序列化大对象时报错:读取 XML 数据时,超出最大

    错误为: 访问服务异常:格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出 错: request.InnerException 消息是“反序 ...

  8. 自己动手之使用反射和泛型,动态读取XML创建类实例并赋值

    前言: 最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容.那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能 ...

  9. C# 读取XML注释

    C#可以通过反射读取类的字段/方法等,可是该如何获取该字段的XML注释? 具体目的:有一个实体类,页面需要有一个与其对应的table,样式大体为 <tr> <td>地东经< ...

随机推荐

  1. RedisUtils工具类

    package test.util; import org.springframework.beans.factory.annotation.Autowired; import org.springf ...

  2. new Date在不同浏览器识别问题

    原文 http://www.cnblogs.com/yangxiaopei/articles/4708157.html 4. 正确的做法 以下列出正确的做法: var time1 = (timesta ...

  3. Matlab项目经验分享-去除震荡点

    Matlab是做科研是比较常用的建模工具,我在研一做项目期间遇到了一个还算比较基础的问题,所以我打算记录下来并分享出来! 处理问题步骤: 1. 抛出问题 2. 思考解决方法 3. 代码验证看结果 抛出 ...

  4. [PHP安全特性学习]strcmp()函数安全漏洞

    简介 PHP函数的安全特性-strcmp() 函数 php-strcmp()函数 PHP strcmp() 函数 strcmp() 函数比较两个字符串. 注释:strcmp() 函数是二进制安全的,且 ...

  5. MathType颜色设置的技巧

    MathType功能非常强大,在编辑公式时使用非常方便.运用MathType不仅可以改变公式的字体和字号,也可以改变公式字体颜色,MathType颜色设置还是有一套技术的,下面我们就一起来看看公式编辑 ...

  6. 详解pdfFactory的页面管理功能

    当我们将文档载入到pdfFactory 之后才发现文档中存在着一些乱页现象.那么是否需要重新整理文档后,再重新载入到软件中呢?实际上,不需要. pdfFactory专业版提供了高效的页面管理功能,用户 ...

  7. jenkins 安装与创建项目

    一.安装1.jenkins下载地址:https://jenkins.io/zh/ 中文版2.下载下来,是msi文件,直接安装3.本地访问,localhost:8080 二.访问 如果访问不了,以下原因 ...

  8. 小米死磕硬核技术,将扩招5000名工程师,多个领域会使用到C++

    小米MIDC大会2020在北京小米科技园召开,小米集团创始人.集团董事长兼CEO雷军宣布:"重视人才队伍的建设.人才是创新之源,提升技术实力的第一步,就是聚拢最顶尖的人才.小米2021年将在 ...

  9. mfc 笔记

    在类成员初始化时,使用另一个成员变量,必须满足,在.h声明时在另一个变量之后,初始 .hprivate: //K线图位置 CPoint m_KPoint; //十字光标位置 CPoint m_trac ...

  10. gulp常用配置

    由于项目中经常会使用到gulp,而每次配置大概都差不多,所以将配置记录一下 项目结构 ├─dist │ ├─assets │ ├─css │ ├─images │ └─js ├─node_module ...