我坚持这一点,无法在网上找到答案。我想使用DOM来加载XML。 我有下列方案的XML:DOM XML解析限制结果值
<type1>
<other>...</other>
<number>bla</number>
<other>...</other>
</type1>
<type1>
<other>...</other>
<number>bla</number>
<other>...</other>
</type1>
...
<type2>
<other>...</other>
<number>bla</number>
<other>...</other>
</type2>
<type2>
<other>...</other>
<number>bla</number>
<other>...</other>
</type2>
Type1和Type2的两个数据发生多次。标签号码出现在两种类型中。 当我使用
$searchNode = $xmlHandler->getElementsByTagName("number");
我得到这两种类型的数字。我怎样才能得到type1或type2的数字?
更新: 基于Kami和Ikku的建议,我已经为DOM解决了它。下面的工作代码:
<?php
$xmlHandler = new DOMDocument();
$xmlHandler->load("xmldocumentname.xml");
$xpath = new DOMXPath($xmlHandler);
$searchNodes = $xpath->query("/type1");
foreach($searchNodes as $searchNode) {
$xmlItem = $searchNode->getElementsByTagName("number");
$number = $xmlItem->item(0)->nodeValue;
$xmlItem = $searchNode->getElementsByTagName("other");
$other = $xmlItem->item(0)->nodeValue;
echo "NUMBER=" . $number . "<br>";
echo "OTHER=" . $other . "<br>";
}
?>
我正在寻找一个DOM解决方案,但我想这个simplexml解决方案背后的想法是可行的。我会试试看,谢谢。 – Vincent
@Vincent这也可以使用DOM - 我已经为你创建了一个样本。 – Kami
我刚刚在DOM中完成它。它效果很好。 Kami mucho谢谢。 – Vincent