• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

DOM基础及php读取xml内容操作的方法_PHP

php 搞代码 3年前 (2022-01-25) 15次浏览 已收录 0个评论

本文实例讲述了DOM基础及php读取xml内容操作的方法。分享给大家供大家参考。具体分析如下:

代码如下:

<br /><br /> <br />  小乔<br />  女<br />  20<br /> <br /> <br />  周瑜<br />  男<br />  25<br /> <br />

class.xml 对应的 DOM 树结构图

php文件(对xml文档操作)

查询操作案例:

<?php<br />//1、创建一个DOMDocument对象。该对象就表示 xml文件<br />$xmldoc = new DOMDocument();<br />//2、加载xml文件(指定要解析哪个xml文件,此时dom树节点就会加载到内存中)<br />$xmldoc->load("class.xml");<br />//3、目标:获取第一个学生的名字<br />//3.1 第一步,读取所有的学生<br />$students = $xmldoc->getElementsByTagName("student");//方法getElementsByTagName:根据所给的节点名字(这里是student)查找 相应的节点,返回 DOMNodeList类型的对象,相当于取出了所有的学生。可以用var_dump($students)查看,并根据返回值查找手册,看其下面的属性与方法。<br />echo "共有 ".$students->length."个学生<br />";

//3.2 读取第一个学生
$stu1 = $students->item(0);//读取到第一个学生。返回值为DOMElement对象。直接 echo $stu1->nodeValue;则把name,sex,age都输出。
//3.3 取出第一个学生的名字
$stu1_name = $stu1->getElementsByTagName(“name”);
//3.4 读取到名字
echo $stu1_name->item(0)->nodeValue;
?>

注意点:

(1)编码问题;
(2)这里只是基础演示,比较麻烦,后面用到循环和函数来操作;
(3)用var_dump(),查看变量的返回值是什么,再根据返回值到手册中查找该返回值下的属性与方法。
(4)整个顺序下来,getElementByTagName()并不需要一层一层的读,事实上可以直接读取到节点name的,而不需要先读取student(当然,如果同一个student下,有多个name,就会出问题了,这里就需要学习新的知识点xpath)。

所以上面这代码可以简单改为:

<?php<br />//1、创建一个DOMDocument对象。该对象就表示 xml文件<br />$xmldoc = new DO<i style="color:transparent">本#文来源gaodai$ma#com搞$$代**码网$</i><button>搞代gaodaima码</button>MDocument();<br />//2、加载xml文件(指定要解析哪个xml文件,此时dom树节点就会加载到内存中)<br />$xmldoc->load("class.xml");<br />//3、目标:获取第一个学生的名字<br />$stu = $xmldoc->getElementsByTagName("name");//直接找到节点name<br />$stu1 = $stu->item(0);// item(1)时,可以取到周瑜<br />echo $stu1->nodeValue;<br />?>

希望本文所述对大家的php操作XML程序设计有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:DOM基础及php读取xml内容操作的方法_PHP

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址