
php是可以读取读取xml文件的。同时也可以遍历节点。网上有很多方法。你可以百度下。这里给你贴代码的话有很多代码。
举例:
有个名字为axml的文件
。内容为:
xml
version=”10″
encoding=”gb2312″
111
2222
3333
读取:
php
$xml
=
new
domdocument();
$xml-
load('axml');
foreach($xml->getelementsbytagname('list')
as
$list)
{
$value
=
$list->firstchild->nodevalue;
echo
$value”
”;
}
>
输出为:111
222
333
本文实例讲述了PHP遍历XML文档所有节点的方法。分享给大家供大家参考。具体实现方法如下:
1
contactxml代码:
<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代码:
<php
function
walk_tree
($node,
$depth
=
0)
{
for
($i
=
0,
$indent
=
'';
$i
<
$depth;
$i++)
$indent
=
'
';
if
($node->type
==
XML_ELEMENT_NODE)
{
($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
('contactxml');
("<pre>\n");
walk_tree
($doc->root
());
("</pre>\n");
>
希望本文所述对大家的php程序设计有所帮助。
1、用 childNodes 属性,按顺序取
实现过程:首先创建一个 xml 对象,然后载入 xml 文件,再根据待取节点父节点在 xml 文件中的序号和本身的序号,确定待取节点的位置,最后返回待取节点的值。
//pId 待取节点父节点序号//cId 待取节点序号
function getXmlNodeValue(pId, cId) {var xmlDoc = new ActiveXObject("MicrosoftXMLDOM");
xmlDocasync = false;
xmlDocload("employeeInfoxml");
var nodes = xmlDocdocumentElementchildNodes[pId]childNodes[cId];return nodeschildNodes[0]text;
}
//调用方法:
alert(getXmlNodeValue(1, 2));
2、用 for 循环来取
实现过程:首先创建一个 ie 支持的 xml 对象,如果发生异常,是创建一个 FireFox 支持的空 xml 对象并返回空;然后载入 xml 文件,如要发生异常也返回空;最后,通过 for 循环遍历查找与传入的节点值相同的节点,找到后返回属于该节点的属性值。
//nodeValue 待取节点的所属节点值
function getXmlNodeValueFor(nodeValue){var xmlDoc;
try {
//创建一个 ie 支持的 XML 文档对象
xmlDoc = new ActiveXObject("MicrosoftXMLDOM");
}catch(e){
try{
//创建FireFox空的XML文档对象
xmlDoc=documentimplementationcreateDocument("","",null);
}catch(e){
alert(emessage);
return "";
}
}
xmlDocasync = false;
try {
xmlDocload("employeeInfoxml");
}catch(e){
alert(emessage);
return "";
}
var xd=xmlDocdocumentElementchildNodes;
if(xd==null)
return "";
var tempValue;
for(var i=0;i<xdlength;i++){
if(xd[i]childNodes[0]childNodes[0]nodeValue==nodeValue) tempValue=xd[i]childNodes[2]childNodes[0]nodeValue;
}
return tempValue;
}
//调用方法:
alert(getXmlNodeValueFor("王佳琳"));
以上就是关于怎么获取xml某个节点下的所有内容全部的内容,包括:怎么获取xml某个节点下的所有内容、PHP遍历XML文档所有节点的方法、js如何遍历取得xml中每个字节点的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)