2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > PHP实现基于DOMDocument解析和生成xml办法详解

PHP实现基于DOMDocument解析和生成xml办法详解

时间:2023-11-05 08:29:27

相关推荐

PHP实现基于DOMDocument解析和生成xml办法详解

后端开发|php教程

DOMDocument,php,生成

后端开发-php教程1. xml的生成

qml 源码,vscode调色盘出不来,ubuntu启动器位置,tomcat 8 并发数,sqlite安装失败,各网页设计优缺点,阿里云服务器301跳转,移动端 时间段插件,rax前端框架,国外爬虫市场,php连接sql server,第一页seo,springboot柱状图,织梦网站首页打开慢,游戏网页模版,opencart 主题模板,dede后台卡死解决办法,wpf点击图片页面跳转页面,发网企业管理系统,潮州生活通_v15网站程序lzw

DOMDocument操作xml要比先前的simplexml要复杂一点,我觉得simplexml就想Java里的dom4j,不管怎样原理都是一样的。如果把DOMDocument里的节点,属性看做是枝叶那么DOMDocument的DOMDocument就是根,节点和属性都挂载在这个对象下面。看看下面的代码就很清楚了

下载站用什么源码,vscode中文汉化包,ubuntu安装感想,为tomcat指定jdk,顺德爬虫店,php整数转浮点数,灵宝seo优化方案联系方式,织梦网站分享插件,html 成功页面模板lzw

createElement("StudentInfo"); //创建第一个子节点 $item=$doc->createElement("Item"); $name=$doc->createElement("name","蔡依林"); $studentnum=$doc->createElement("num","010502"); //创建属性(phpdom可以把任何元素当做子节点) $id=$doc->createAttribute("id"); $value=$doc->createTextNode(1); $id->appendChild($value); //在父节点下面加入子节点 $item->appendChild($name); $item->appendChild($studentnum); $item->appendChild($id); $item2=$doc->createElement("Item"); $name2=$doc->createElement("name","潘玮柏"); $studentnum2=$doc->createElement("num","010505"); $id2=$doc->createAttribute("id"); $value2=$doc->createTextNode(2); $id2->appendChild($value2); $item2->appendChild($name2); $item2->appendChild($studentnum2); $item2->appendChild($id2); $root->appendChild($item); $root->appendChild($item2); //把根节点挂载在DOMDocument对象 $doc->appendChild($root); header("Content-type: text/xml"); //在页面上输出xml echo $doc->saveXML(); //将xml保存成文件 $doc->save("stu.xml");?>

这段代码仔细看的话其实不复杂,可能性在id属性的那个地方会有点疑问,文本节点也必须挂载在DOMDocument下面,之后把文本节点挂载在属性下面。来看下生成的xml

易语言1500源码,vscode终端ansi,ubuntu系统怎么创建文件,tomcat点不开,qt删除sqlite连接,最新wp插件,前端框架技术的介绍,爬虫小程序奖励,$在php中是什么意思,描述 seo,小说网站源码自带采集,网页 源代码 滑动翻页,精美flash模板,vivi小偷程序原理lzw

其实DOMDocument是首先生成节点或属性,而xml的层级关系是最后通过addchild来体现的

2. DOMDocument解析

load(stu.xml); //取得根节点 $root=$doc->documentElement; //通过标记的名字取得对应的元素 $items=$root->getElementsByTagName(Item); foreach($items as $key=>$val){ // echo count($val->attributes); //id是第一个属性所以使用item(0),nodeValue用来取得节点的值 echo $val->attributes->item(0)->name.":".$val->attributes->item(0)->nodeValue." "; foreach($val->getElementsByTagName( ame) as $key2=>$val2){ echo $val2->nodeValue." "; } foreach($val->getElementsByTagName( um) as $key3=>$val4){ echo $val4->nodeValue.""; } }?>

解析的话重在理解,getElementsByTagName方法,attributes属性和item是解析xml的重点。别的都算简单,看看解析出来的东西

总的来说是比simplexml麻烦一些,但是作为程序员还能接受吧。

相关推荐:

PHP利用DOMDocument操作xml方法详解

PHP XML操作类DOMDocument

PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。