解析php DOMElement 操作xml 文档的实现代码
/*<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- css的样式定义,不加点。如:name{color:red;} --> <?xml-stylesheet type="text/css" href="css.css"?> <!-- 引入dtd文档定义文件 (根元素:班级)<!DOCTYPE 班级 SYSTEM "class.dtd" /> --> <!-- <!DOCTYPE 班级[ <!ELEMENT 班级 (学生+)> <!ELEMENT 学生 (名字,年龄,介绍)> <!ELEMENT 名字 (#PCDATA)> <!ELEMENT 年龄 (#PCDATA)> <!ELEMENT 介绍 (#PCDATA)> ] /> --> <班级> <学生 number="101"> <名字>孙悟空</名字> <名字>孙行者</名字> <年龄>123</年龄> <介绍><![CDATA[&*$%特殊字串^&#$&]]></介绍> </学生> <学生 number="10"2"> <名字>白骨精</名字> <年龄>140</年龄> <介绍>介绍内容</介绍> </学生> </班级> */ $xmldoc = new DOMDocument('1.0', 'UTF-8'); $xmldoc->load('datas.xml'); $itemsNodeList = $xmldoc->getElementsbyTagName('学生'); $itemElement = $itemsNodeList->item(0);//得到第一个完整的学生信息节点 $itemChildsNodeList = $itemElement->getElementsbyTagName('名字');//得到子节点“名字”,也许有多个名字 $itemChildNode = $itemChildsNodeList->item(0);//得到第一个名字节点 echo $itemChildNode->nodeValue;//输出节点值 //封装成函数 $nodeArr = array('名字', '年龄', '介绍'); function getNodeVal($xmldoc, $itemsName, $nodeArr){ $items = $xmldoc->getElementsByTagName($itemsName); for($i=0; $i < $items->length; $i++){ $item = $items->item($i); foreach($nodeArr as $node){ $data[$i][] = $item->getElementsByTagName($node)->item(0)->nodeValue; } } return $data; } $data = getNodeVal($xmldoc, '学生', $nodeArr); print_r($data);
//添加节点 $xmldoc = new DOMDocument('1.0', 'UTF-8'); $xmldoc->load('datas.xml'); $items = $xmldoc->getElementsByTagName('班级')->item(0);//根节点 $student = $xmldoc->createElement('学生');//创建一个新的学生节点 $stu_name = $xmldoc->createElement('名字','张三'); $stu_age = $xmldoc->createElement('年龄','15'); $stu_intro = $xmldoc->createElement('介绍','动手能力强且成绩稳定'); $items->appendChild($student); $student->appendChild($stu_name); $student->appendChild($stu_age); $student->appendChild($stu_intro); $bytes = $xmldoc->save('datas.xml'); echo ($bytes)? "写入了: $bytes 字节" : '保存失败'; //删除节点 $xmldoc = new DOMDocument('1.0', 'UTF-8'); $xmldoc->load('datas.xml'); $student = $xmldoc->getElementsByTagName('学生')->item(2);//直接找到要删除的节点 $student->parentNode->removeChild($student);//父节点的删除方法 $xmldoc->save('datas.xml'); //修改节点值 $student = $xmldoc->getElementsByTagName('学生')->item(2); $student->getElementsByTagName('年龄')->item(0)->nodeValue += 10; $student->setAttribute('id', '110'); $xmldoc->save('datas.xml'); //应用 Xpath 查找节点 $xml = new DOMDocument('1.0', 'UTF-8'); $xml->load('dat.xml'); $xpath = new DOMXPath($xml); $nodeList = $xpath->query('/aaa/bbb/ddd/fff'); echo $nodeList->item(0)->nodeValue; //SimpleXML 类操作 xml /* <?xml version="1.0" encoding="UTF-8"?> <books> <book house="清华出版"> <code>1001</code> <price>200元</price> <author>大明</author> <title>天龙八部</title> </book> <book house="北大出版"> <code>1002</code> <price>321元</price> <author>张三</author> <title>笑傲江湖</title> </book> <book house="人 民出版"> <code>1004</code> <price>182元</price> <author>李四</author> <title>读者</title> </book> </books> */ $xml = simplexml_load_file('books.xml'); $books = $xml->book; echo $books[1]->title . $books[1]['house'];//直接指向第二本书 foreach($xml as $item){ echo $item->title,' ',$item['house'],'<br/>'; }
更多解析php DOMElement 操作xml 文档的实现代码相关文章请关注PHP中文网!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

手机XML转PDF的速度取决于以下因素:XML结构的复杂性手机硬件配置转换方法(库、算法)代码质量优化手段(选择高效库、优化算法、缓存数据、利用多线程)总体而言,没有绝对的答案,需要根据具体情况进行优化。

不可能直接在手机上用单一应用完成 XML 到 PDF 的转换。需要使用云端服务,通过两步走的方式实现:1. 在云端转换 XML 为 PDF,2. 在手机端访问或下载转换后的 PDF 文件。

直接在手机上将XML转换为PDF并不容易,但可以借助云端服务实现。推荐使用轻量级手机App上传XML文件并接收生成的PDF,配合云端API进行转换。云端API使用无服务器计算服务,选择合适的平台至关重要。处理XML解析和PDF生成时需要考虑复杂性、错误处理、安全性和优化策略。整个过程需要前端App与后端API协同工作,需要对多种技术有所了解。

要打开 web.xml 文件,可以使用以下方法:使用文本编辑器(如记事本或 TextEdit)使用集成开发环境(如 Eclipse 或 NetBeans)使用命令行编辑命令(Windows:notepad web.xml;Mac/Linux:open -a TextEdit web.xml)

无法找到一款将 XML 直接转换为 PDF 的应用程序,因为它们是两种根本不同的格式。XML 用于存储数据,而 PDF 用于显示文档。要完成转换,可以使用编程语言和库,例如 Python 和 ReportLab,来解析 XML 数据并生成 PDF 文档。

XML格式化工具可以将代码按照规则排版,提高可读性和理解性。选择工具时,要注意自定义能力、对特殊情况的处理、性能和易用性。常用的工具类型包括在线工具、IDE插件和命令行工具。

用大多数文本编辑器即可打开XML文件;若需更直观的树状展示,可使用 XML 编辑器,如 Oxygen XML Editor 或 XMLSpy;在程序中处理 XML 数据则需使用编程语言(如 Python)与 XML 库(如 xml.etree.ElementTree)来解析。

导出 XML 为 PDF 有两种方法:使用 XSLT 和使用 XML 数据绑定库。XSLT:创建 XSLT 样式表,指定 PDF 格式使用 XSLT 处理器转换 XML 数据XML 数据绑定库:导入 XML 数据绑定库创建 PDF 文档对象加载 XML 数据导出 PDF 文件哪种方法更好取决于需求。XSLT 提供灵活性,而数据绑定库实现简单;对于简单转换,数据绑定库更好,对于复杂转换,XSLT 更合适。
