【发布时间】:2015-11-03 10:39:43
【问题描述】:
我有类似的xml:
<root xmlns="urn:test:apis:baseComponents">
<books>
<book>
<name>50 shades of grey</name>
</book>
</books>
<disks>
<disk>
<name>Britney Spears</name>
</disk>
</disks>
</root>
还有这样的php代码:
$xml = new SimpleXMLElement($xml);
$books = $xml->books;
$disks = $xml->disks;
$disks->registerXPathNamespace('x', 'urn:test:apis:baseComponents');
$books->registerXPathNamespace('x', 'urn:test:apis:baseComponents');
$b_names = $books->xpath('//x:name');
b_names 包含具有 2 个值而不是 1 个值的数组。第一个保存 books->book->name,第二个保存 disks->disk->name。
您能否解释一下我做错了什么以及如何找到只有一个元素的子元素?
我使用 xpath 而不是使用 SimpleXMLElement 手动获取值的原因是我不知道我想提前搜索什么值。
【问题讨论】: