PHP遍历XML文档所有节点的方法

 这篇文章主要介绍了PHP遍历XML文档所有节点的方法,实例分析了php操作XML文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

 
 

本文实例讲述了PHP遍历XML文档所有节点的方法。分享给大家供大家参考。具体实现方法如下:

1. contact.xml代码:

?

1
2
3
4
5
6
7
8
9
10
11
12

<contact id="43956">
<personal>
<name>
<first>J</first>
<middle>J</middle>
<last>J</last>
</name>
<title>Manager</title>
<employer>National</employer>
<dob>1971-12-22</dob>
</personal>
</contact>

2. php代码:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

<?php
function walk_tree ($node, $depth = 0) {
for ($i = 0, $indent = ''; $i < $depth; $i++)
$indent .= ' ';
if ($node->type == XML_ELEMENT_NODE) {
print ($indent . $node->tagname . "n");
$kids = $node->children ();
$nkids = count ($kids);
if ($nkids > 0) {
$depth++;
for ($i = 0; $i < $nkids; $i++)
walk_tree ($kids[$i], $depth);
$depth--;
}
}
}
$doc = xmldocfile ('contact.xml');
print ("<pre>n");
walk_tree ($doc->root ());
print ("</pre>n");
?>

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

时间: 2024-08-01 15:55:27

PHP遍历XML文档所有节点的方法的相关文章

PHP遍历XML文档所有节点的方法_php技巧

本文实例讲述了PHP遍历XML文档所有节点的方法.分享给大家供大家参考.具体实现方法如下: 1. contact.xml代码: <contact id="43956"> <personal> <name> <first>J</first> <middle>J</middle> <last>J</last> </name> <title>Manager<

处理及遍历XML文档DOM元素属性及方法整理_基础知识

用于处理XML文档的DOM元素属性 复制代码 代码如下: childNodes:返回当前元素所有子元素的数组: firstChild:返回当前元素的第一个下级子元素: lastChild:返回当前元素的最后一个子元素: nextSibling:返回紧跟在当前元素后面的元素: noedValue:指定表示元素值的读/写属性: parentNode:返回元素的父节点: previousSibling:返回紧邻当前元素之前的元素: 用于遍历XML文档的DOM元素方法 复制代码 代码如下: getEle

ajax遍历xml文档的方法_AJAX相关

本文实例讲述了ajax遍历xml文档的方法.分享给大家供大家参考.具体分析如下: XMLHttpRequest对象提供了两个可以用来访问服务器响应的属性.第一个属性responseText将响应提供为一个串,第二个属性 responseXML将响应提供为一个XML对象.一些简单的用例就很适合按简单文本来获取响应,如将响应显示在警告框中,或者响应只是指示成功还是失 败的词 前面<ajax小结>中的例子是从XMLHttpRequest对象获取服务器响应,并使用XMLHttpRequest对象的re

ajax遍历xml文档的方法

本文实例讲述了ajax遍历xml文档的方法.分享给大家供大家参考.具体分析如下: XMLHttpRequest对象提供了两个可以用来访问服务器响应的属性.第一个属性responseText将响应提供为一个串,第二个属性 responseXML将响应提供为一个XML对象.一些简单的用例就很适合按简单文本来获取响应,如将响应显示在警告框中,或者响应只是指示成功还是失 败的词 前面<ajax小结>中的例子是从XMLHttpRequest对象获取服务器响应,并使用XMLHttpRequest对象的re

遍历XML文档的所有节点及属性(ASP)

<% on error resume next     '<![CDATA[]]>问题没处理     xmlfile = "???.xml"     Set xml = Server.CreateObject("MSXML.DOMDocument")     xml.async = false     xml.load(xmlfile)     private function showxml(node)     dim tempstr     f

如何给XML文档中节点属性设置前缀呢?

问题描述 假如有一个节点<span>内容</span>我想给节点属性加上xml:space="preserve"属性就是<spanxml:space="preserve">内容</span>怎么做呢?另外问下这个属性可以加到根节点上吗?谢谢! 解决方案 解决方案二:晕等了一天也没人回答啊..难道太简单了?解决方案三:XmlElementbt=doc.CreateElement("wsc","

遍历XML文档返回二维数组(ASP)(更新版)

  <% on error resume next     '<![CDATA[]]>问题没处理     'xmlfile = "???.xml"     Set xml = Server.CreateObject("MSXML.DOMDocument")     xml.async = false     xml.load(xmlfile)Public Function PrettyPrint(node,tabLevel)on error res

简述PHP4和PHP5版本下解析XML文档的操作方法

在PHP网站开发与建设过程中,时常会碰到需要对XML文档进行解析,PHP4版本自带了XML解析器(sax),PHP5版本增加了SimpleXML(基于dom)的XML扩展,对XML的解析更是非常方便,今天和大家分享下在不同环境下对XML文档进行解析的方法.XML文档 1234567891011121314151617181920 <?xml version="1.0" encoding="gbk"?> <LeapsoulXML>      

Java编程中更新XML文档的常用方法

xml|编程 本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for XML Processing的英文字头缩写,中文含义是:用于XML文档处理的使用Java语言编写的编程接口.JAXP支持DOM.SAX.XSLT等标准.为了增强JAXP使用上的灵活性,开发者特别为JAXP设计了一个Pluggability Layer,在Pluggability Laye