Heim  >  Artikel  >  Backend-Entwicklung  >  simplexml_load_string - php 如何获取同名的xml节点

simplexml_load_string - php 如何获取同名的xml节点

WBOY
WBOYOriginal
2016-06-06 20:32:071317Durchsuche

使用simplexml_load_string函数加载一个xml字符串,xml字符串里面有几个节点名称相同。

我用print_r和var_dump打印获取到的对象的时候,结果显示这些节点会被放在该节点名称的数组里面,可是我用$obj->node_name获取的时候只能获取到第一个同名的节点。

我怎样才能获取到所有的节点?

代码内容请看http://3v4l.org/bbC0u,我要获取的是所有的Contents节点内容。

回复内容:

使用simplexml_load_string函数加载一个xml字符串,xml字符串里面有几个节点名称相同。

我用print_r和var_dump打印获取到的对象的时候,结果显示这些节点会被放在该节点名称的数组里面,可是我用$obj->node_name获取的时候只能获取到第一个同名的节点。

我怎样才能获取到所有的节点?

代码内容请看http://3v4l.org/bbC0u,我要获取的是所有的Contents节点内容。

var_dump了一下$obj,截取部分图

simplexml_load_string - php 如何获取同名的xml节点
Contents 是数组
so:
count($obj->Contents);这个就所有contents节点个数了
那为什么var_dump($obj->Contents)只能打印第一个节点?
原因:
在SimpleXML对象中。$obj->Contents等价于$obj->Contents[0]
解决方案:

<code>$num = count($obj->Contents);
for($i=0 ;$iContents[$i])
}
</code>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn