本文实例讲述了php实现解析xml并生成sql语句的方法。分享给大家供大家参考,具体如下:
php解析xml有很多种办法,文档中有,搜索一下就一大把的。
今天遇到一个需求:将某个xml中的节点属性提取出来,然后更新数据库某一表中的字段。
思路:
解析XML,获取所有的节点属性 – 循环节点集合,获取对应的属性 – 拼接sql字符串存入一数组 – 将数组转为字符串保存于某一文件中
这里使用了xpath,在写代码的过程中遇到两个问题:
1、xml的史路径属性为D:/xx/…时load不了文件,改为”/”(linux下的分隔符)就可以了
2、获取一个节点的属性,使用::attributes,编辑器就不停的红色提示,找到半天文档,最后用- getAttribute()就行了(猜的,因为太奇怪了,它支持- previousSibling和- nodeValue),按照,文档上的DOMElement::getAttribute直接就报错了..
下面是示例代码:
title xml 转换为 sql /title meta http-equiv= content-type content= text/html; charset=utf-8 / style type= text/css .tip_info {margin-bottom:10px;} .tip_info span {color:#f00;} /style ?php$xml = D:/res/dressConfig.xml $doc = new DOMDocument();$doc- load($xml);$xpath = new DOMXPath($doc);$query = //i $entries = $xpath- query($query);$len = $entries- length;echo p >因为数据是从数据库表中生成出来的,所以找到的节点数即为表中的记录总数。生成后可以大概看一下内容是否正确,然后再执行该sql脚本便达到目的了。
PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson在线格式化XML/在线压缩XML:
http://tools.jb51.net/code/xmlformatXML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compressXML代码在线格式化美化工具:
您可能感兴趣的文章:
http://tools.jb51.net/code/xmlcodeformatPHP实现正则表达式分组捕获操作示例php技巧
PHP实现QQ登录的开原理和实现过程php实例
详解PHP文件的自动加载php实例
以上就是php实现解析xml并生成sql语句的方法php技巧的详细内容,PHP教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答