获取特定类型 SimpleXML 的所有后代

Get all descendants of specific type SimpleXML

假设我有一个 XML,其中我要提取的信息位于层次结构的不同级别:

<people>
    <person>
        <info/>
    </person>
    <person>
        <info/>
    </person>
    <info/>
</people>

我想获取人员树中所有级别的每个信息位,我不知道某个分支可能有多深。

有什么方法可以得到某种类型的每个后代吗?

查看 xpath 查询;你应该能够通过使用像 people//person 这样的东西来完成这个。这是一个粗略的例子:

$doc = new DOMDocument();
$doc->loadHTMLFile("people.xml");
$xpath = new DOMXpath($doc);

// Look for all person elements that are decendents of people
$elements = $xpath->query("people//person");

可能的查询列表:http://www.w3schools.com/xsl/xpath_syntax.asp