怎么获取xml某个节点下的所有内容

怎么获取xml某个节点下的所有内容,第1张

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)

{

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

('contactxml');

print

("<pre>\n");

walk_tree

($doc->root

());

print

("</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中每个字节点的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10168158.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存