如何从 XML [2 个相同的 children 获取数据,而我只想要其中的 1 个]?
How can I get data from XML [2 identical children and I want only 1 of them]?
我有 XML 文件。这是他的结构:
<data>
<pos1>
</pos1>
<pos2>
</pos2>
.
.
.
<pos3>
<pos1>
</pos1>
</pos3>
</data>
我只想要来自 <pos1>
的第一个数据。如果我使用 $xml->getElementsByTagName('pos1')
我收到了所有数据。
是否比从数据中获取所有元素然后搜索 pos1 更好?
您可以尝试使用 DOMXPath::query()
:
$xpath = new DOMXPath($yourDomDocument);
$nodes = $xpath->query('//data/pos1');
以上 xpath 查询仅 return <pos1>
即 <data>
的 child。
我有 XML 文件。这是他的结构:
<data>
<pos1>
</pos1>
<pos2>
</pos2>
.
.
.
<pos3>
<pos1>
</pos1>
</pos3>
</data>
我只想要来自 <pos1>
的第一个数据。如果我使用 $xml->getElementsByTagName('pos1')
我收到了所有数据。
是否比从数据中获取所有元素然后搜索 pos1 更好?
您可以尝试使用 DOMXPath::query()
:
$xpath = new DOMXPath($yourDomDocument);
$nodes = $xpath->query('//data/pos1');
以上 xpath 查询仅 return <pos1>
即 <data>
的 child。