我无法使用 SimpleXML 库同时获取 XML 节点内容和属性:
我有以下 XML,想获取 content@name
属性和节点的内容:
<page id="id1">
<content name="abc">def</content>
</page>
方法简单的xml_load_string()
print_r(simplexml_load_string('<page id="id1"><content name="abc">def</content></page>'));
输出这个:
SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => id1
)
[content] => def
)
如您所见,content
节点的内容存在,但缺少属性。如何接收内容和属性?
谢谢!
最佳答案
内容的属性存在。这只是 print_r() 的一个技巧,以及它如何处理内存中的 XML 对象。
$x = simplexml_load_string('<page id="id1"><content name="abc">def</content></page>');
print_r($x->content);
print_r($x->content['name']);
SimpleXMLElement Object
(
[@attributes] => Array
(
[name] => abc
)
[0] => def
)
SimpleXMLElement Object
(
[0] => abc
)
关于php - simplexml_load_file() 没有获取节点内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29799623/