在 PHP 中,是否有一种现有方法可以通过节点名称(递归)获取一个或多个子元素,或者您是否必须自己为此编写一个函数?
例如,这是我的 XML:
<parent>
<child>
<grandchild>Jan</grandchild>
<grandchild>Kees</grandchild>
</child>
</parent>
我正在寻找一种返回如下内容的方法: 大批( [0] => '一月', [1] => '基斯' )
通过调用类似的东西:
$grandchildren = $xml->children('grandchild');
根据文档确实存在上述内容,但仅适用于命名空间。
e:下面接受的答案有效。这是我跑去测试的。
$xml = '
<parent>
<child>
<grandchild>Jan</grandchild>
<grandchild>Kees</grandchild>
</child>
</parent>';
$L_o_xml = new SimpleXMLElement($xml);
$L_o_child = $L_o_xml->xpath('//grandchild');
foreach( $L_o_child as $hi ){
print "\n".(string)$hi;
}
简单打印:
Jan
Kees
最佳答案
您可以使用 $xml->xpath()
以各种复杂的方式选择节点:
$xml->xpath('//grandchild'); // select all grandchild elements in the document
关于php - 有没有办法通过节点名称获取简单的 XML 子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27741380/