0

我有一个这样的 XML 结构:

<root>
    <parent>
        <child name='Child1' />
        <child name='Child2' />
        <subparent>
            <child name='Child3' />
        </subparent>
    </parent>
    <child name='Child4' />
<root>

使用 PHP simplexml,我正在尝试获取所有“”节点,无论是什么级别,我想知道是否有一个快速功能,而不是扫描 XML 的每个节点。

4

1 回答 1

3

当然,您需要做的就是xpath()在您的 XML 上使用查询:

$xml = simplexml_load_string( $xml);

foreach( $xml->xpath( '//child') as $child) { 
    $attributes = $child->attributes();
    echo $attributes['name'] . "\n";
}

您可以从这个演示中看到,它会打印:

Child1 
Child2 
Child3 
Child4
于 2013-09-20T22:15:13.583 回答