PHP - 获取特定类型的所有XML子节点

时间:2013-09-20 22:06:43

标签: php xml parent-child nodes

我有一个像这样的XML结构:

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

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

1 个答案:

答案 0 :(得分:3)

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

$xml = simplexml_load_string( $xml);

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

你可以从this demo看到这打印:

Child1 
Child2 
Child3 
Child4