DOM基础和php读取xml内容的操作方法
本文描述了DOM基础和用php读取xml内容的操作方法。分享给大家参考。具体分析如下:
文档对象模型:文档对象模型。核心思想是:将xml文件作为一个对象模型,然后通过对象的方式操作xml文件。
对xml文档进行添加、删除、修改和检查,具体分析如下:
Xml文档:class.xml复制代码如下:xml版本='1.0 '编码='utf-8 '?学生信息'美女'姓名Joe/姓名性别女/性别20/年龄/学生姓名周瑜/姓名性别男/性别25/年龄/学生/班级. xml对应DOM树结构图。
Php文件(对xml文档的操作)
操作案例:复制代码如下:Php//1。创建一个DOMDocument对象。此对象表示xml文件$ xmldoc=new DomDocument();//2.加载一个xml文件(指定要解析哪个xml文件,然后dom树节点将被加载到内存中)$ xmldoc-load(' class . XML ');//3.目标:获取第一个学生的姓名//3.1步骤1:阅读所有学生$ students=$ xmldoc-getelementsbytagname(' student ');//方法getElementsByTagName:根据给定的节点名(这里是学生)找到对应的节点,返回DOMNodeList类型的对象,相当于把所有的学生都拿出来。可以用var_dump($students)检查一下,根据返回值找到手册,看看下面的属性和方法。回声“有”。$学生长度。学生br/';
//3.2阅读第一个学生$ stu 1=$ students-item(0);//读第一个学生。返回值是一个DOMElement对象。直接回显$ stu 1-node value;姓名、性别、年龄都是输出。//3.3取出第一个学生的名字$ stu 1 _ name=$ stu 1-getelementsbytagname(' name ');//3.4读取名称echo $ stu 1 _ name-item(0)-node value;
注意事项:
(1)编码问题;(2)这只是一个基本的演示,比较麻烦。后来,循环和函数被用来操作;(3)使用var_dump()检查变量的返回值是什么,然后根据返回值在手册中查找返回值下的属性和方法。(4)在整个序列中,getElementByTagName()不需要逐层读取,实际上可以直接读取节点名称,而无需先读取学生(当然,如果同一个学生下有多个名称,就会出现问题,所以这里需要学习xpath的新知识)。
因此,上面的代码可以简单地改为:复制代码如下:Php//1。创建一个DOMDocument对象。此对象表示xml文件$ xmldoc=new DomDocument();//2.加载一个xml文件(指定要解析哪个xml文件,然后dom树节点将被加载到内存中)$ xmldoc-load(' class . XML ');//3.目标:获取第一个学生的姓名$ stu=$ xmldoc-getelementsbytagname(' name ');//直接找到节点名$ stu 1=$ stu-item(0);//项(1),可以得到周瑜的echo $ stu 1-node value;
希望本文对php操作XML程序的设计有所帮助。
版权声明:DOM基础和php读取xml内容的操作方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。