用Php读取XML最简单的情况: XML文件(cy.xml)如下: 复制代码 代码如下: <?xml version=”1.0″ encoding=”gb2312″?> <xml> <list>1</list> <list>2</list> <list>3</list> </xml> Php文件(cy.php)如下: 复制代码 代码如下: <?php $xml = new DOMDocument(); $xml->load(‘cy.xml’); foreach($xml->getElementsByTagName(‘list’) as $list) { $value = $list->fir 在本文中,我们将深入探讨如何使用PHP来读取XML文件中的值。XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,而PHP作为一种服务器端脚本语言,可以方便地处理XML数据。我们将通过五个逐步进阶的例子来展示PHP解析XML的基本方法。 我们看最简单的情况。XML文件`cy.xml`包含一系列`list`元素,每个元素内含有一个数值: ```xml <?xml version="1.0" encoding="gb2312"?> <xml> <list>1</list> <list>2</list> <list>3</list> </xml> ``` 对应的PHP文件`cy.php`使用DOMDocument类加载XML文件,并遍历所有`list`元素来获取其值: ```php <?php $xml = new DOMDocument(); $xml->load('cy.xml'); foreach ($xml->getElementsByTagName('list') as $list) { $value = $list->firstChild->nodeValue; echo $value . "<br />"; } ?> ``` 运行`cy.php`将输出:`1 2 3`。 第二种情况稍微复杂些,XML文件`cy.xml`添加了一个顶层`main`元素: ```xml <?xml version="1.0" encoding="gb2312"?> <xml> <main> <list>1</list> <list>2</list> <list>3</list> </main> </xml> ``` 尽管XML结构有所变化,但`cy.php`的代码仍然可以正常工作,因为它直接遍历`list`元素,结果与之前相同:`1 2 3`。 第三种情况,XML文件`cy.xml`包含两个`main`元素,每个`main`元素下都有三个`list`元素: ```xml <?xml version="1.0" encoding="gb2312"?> <xml> <main> <list>1</list> <list>2</list> <list>3</list> </main> <main> <list>4</list> <list>5</list> <list>6</list> </main> </xml> ``` 虽然结构更复杂,但`cy.php`的代码依然没有变化,它会遍历所有`list`元素,输出:`1 2 3 4 5 6`。 第四种情况,`cy.php`的代码做了调整,先找到所有`main`元素,然后在每个`main`元素内部遍历`list`元素: ```php <?php $xml = new DOMDocument(); $xml->load('cy.xml'); $main = $xml->getElementsByTagName('main'); foreach ($main as $m) { $list = $m->getElementsByTagName("list"); foreach ($list as $l) { $value = $l->firstChild->nodeValue; echo $value . "<br />"; } } ?> ``` 尽管代码有所不同,但输出结果仍然是:`1 2 3 4 5 6`,因为它们都是遍历所有的`list`元素。 第五种情况,XML文件`cy.xml`中的`list`元素添加了`item`子元素,使得结构更丰富: ```xml <?xml version="1.0" encoding="gb2312"?> <xml> <main> <list> <item>1</item> </list> <list> <item>2</item> </list> <list> <item>3</item> </list> </main> <main> <list> <item>4</item> </list> <list> <item>5</item> </list> <list> <item>6</item> </list> </main> </xml> ``` 即使XML结构发生变化,`cy.php`的代码保持不变,仍能正确输出:`1 2 3 4 5 6`。 总结一下,PHP处理XML文件时,通常会用到DOMDocument类,它可以加载XML文件并提供一系列方法来遍历和操作XML文档。在这些例子中,`getElementsByTagName`方法用来查找特定的元素,`firstChild`属性则用于获取元素的第一个子节点,`nodeValue`属性则返回该子节点的文本值。随着XML结构的复杂度增加,可能需要更深入地使用DOMDocument类及其相关方法,如`getElementsByTagNameNS`、`getAttribute`等,来处理命名空间或获取属性值。了解这些基本概念和方法,对于处理XML数据至关重要。


剩余6页未读,继续阅读




























- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- plc课程设计心得体会4篇.docx
- C#程序设计-教材全套课件教学教程整本书电子教案全书教案课件汇编.ppt
- DM-数据挖掘-3-1-分类与预测-QBai-21-08.ppt
- Excel表格通用模板:婚礼来宾及礼金自动化统计.xlsx
- (成都)05月23-24日《房地产移动互联网O2O与创新营销及团队管控》.docx
- 工商银行拥抱互联网的“e-难题”.doc
- 单片机课程设计--电子音调发生器.doc
- CDIO理念下交通工程专业软件课程中的应用.docx
- 单片机课程设计步进电机正反转.doc
- 电子计算机辅助教学学习资料.ppt
- xx关于plc实训心得体会范文.doc
- (完整版)计算机二级MSoffice高级应用选择题大全(2018年最新版).pdf
- 适用试卷号:2186(开卷)《电子商务概论》复习资料.doc
- 2遗传算法的基本原理.pptx
- 2022软件项目策划书_.docx
- 管理系统中计算机应用串讲资料选择题(1).doc



评论0