PHP内で、同じ名前の複数のノードが親の中にあるXMLファイルを読み込もうとしています。これまでは、XMLノードの最初の反復を読むことができますが、読み込まれる別の子があるにもかかわらず、PHPは次の親に移動します。この場合、ノードは<DEVICE>
であり、ノードの子ノードは<IPV4>
です。PHP XMLから複数の子を反復する
は、ここにあなたが見ることができるように、「ブラボー」の会社の下に「アルファ」の会社と1の下にリストされている2つのデバイスがあるXML(pass1.xml)
<LIST>
<COMPANY>Alpha
<DEVICE>Alpha1
<IPV4>1.2.3.4</IPV4>
</DEVICE>
<DEVICE>Alpha2
<IPV4>5.6.7.8</IPV4>
</DEVICE>
</COMPANY>
<COMPANY>Bravo
<DEVICE>Bravo1
<IPV4>1.3.5.7</IPV4>
</DEVICE>
</COMPANY>
</LIST>
です。ここでは(私はHTMLタグを省略しました)私のPHPです:
$xml = simplexml_load_file("/var/www/xml/pass1.xml") or die ("Could not open file!");
// Get Companies
echo "Company List<br>";
foreach($xml->children() as $company) {
echo $company . "<br>";
}
echo "<br>Device List<br>";
// Get devices
foreach($xml->children() as $device) {
echo $device->DEVICE . "<br>";
}
echo "<br>IP List<br>";
// Get IP
foreach($xml->children() as $ipv4) {
echo $ipv4->DEVICE->IPV4 . "<br>";
}
「企業は」適切に引っ張られたが、「デバイス」のためにしている私はAlpha1
とBravo1
を取得します。同様に、IPアドレスの場合、私は引っ張られるデバイスに対応する1.2.3.4
と1.3.5.7
しか得ません。 Alpha2
に関する情報が不足しています。
私の究極の目標は、それぞれDevice
とIPv4
をPHPから繰り返して表示することです。誰かが私を正しい方向に向けることができますか?
素晴らしい!それは魅力のように働いた。一度あなたが私のために説明したらそれは意味をなさない。ありがとう! :) –