私はこれで立ち往生しており、ネット上で答えを見つけることができません。DOM を使用して XML をロードしたいと考えています。次のスキームの 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>";
}
?>