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


PHP - get all XML child nodes of a specific type

我有一个这样的XML结构:

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

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

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

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

您可以从此演示中看到,这打印了:

Child1 
Child2 
Child3 
Child4