各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > CMS教程 > PHP

php实现解析xml并生成sql语句的方法php技巧

管理员 2023-09-05
PHP
134

php实现解析xml并生成sql语句的方法php技巧

内容导读

收集整理的这篇技术教程文章主要介绍了php实现解析xml并生成sql语句的方法php技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2447字,纯文字阅读大概需要4分钟

内容图文

这篇文章主要介绍了php实现解析xml并生成sql语句的方法,涉及php针对xml格式文件的读取、解析及sql字符串拼接相关操作技巧,需要的朋友可以参考下

本文实例讲述了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 class='tip_info'>总共找到:<span>".$len."</span>个节点</p>";$arr = array();$idx = 0;while ($idx < $len) {  $nodeItem = $entries->item($idx);  $id = $nodeItem->getAttribute("i");  $name = $nodeItem->getAttribute("n");  $inf = $nodeItem->getAttribute("inf");//  echo "<p>".$id.'--'.$name.'--'.$inf."</p>";  $idx++;  array_push($arr, "update dress_item t SET t.s_name='".$name."',t.s_intro='".$inf."' WHERE t.n_doid=".$id.";");}$dir = "d:/sql/";if (!is_dir($dir)) {  mkdir($dir);}file_put_contents("d:/sql/dress_item.sql", implode("nr", $arr));echo "生成完毕!";?>

因为数据是从数据库表中生成出来的,所以找到的节点数即为表中的记录总数。生成后可以大概看一下内容是否正确,然后再执行该sql脚本便达到目的了。

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

在线格式化XML/在线压缩XML
http://tools.jb51.net/code/xmlformat

XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress

XML代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat

您可能感兴趣的文章:

PHP实现正则表达式分组捕获操作示例php技巧

PHP实现QQ登录的开原理和实现过程php实例

详解PHP文件的自动加载php实例

以上就是php实现解析xml并生成sql语句的方法php技巧的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php实现解析xml并生成sql语句的方法php技巧全部内容,希望文章能够帮你解决php实现解析xml并生成sql语句的方法php技巧所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 lecms, classcms, fastadmin, pbootcms, phpcms, eyoucms, yzmcms, PHP, xunruicms, jizhicms, dedecms, wordpress, hkcms, yzncms, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部