0

次のような XML があります。

<item code="1">
  <description>This is an item.</description>
  <prices>
     <price nett="1.50"/>
     <price code="RPP" nett="20.33" />
  </prices>
</item>

そして、次のようにPHPを使用してDBにインポートしようとしています:

$xmlurl = 'thexmlfile.xml';

$dom = new DOMDocument();   
$dom->load($xmlurl);

$records = $dom->getElementsByTagName('item');

foreach($records as $record) {

    $descs = $record-> getElementsByTagName('description');
    $desc = $descs->item(0)->nodeValue;
    echo $desc . '<br />';  

}

それはうまくいきます。説明を引っ張る。しかし、商品コードと価格セクションを取得するにはどうすればよいですか? ループ内ループ?]

ありがとうございました

4

1 に答える 1

1

編集:コードを修正し、各アイテムの価格を個別に繰り返しました。

アイテムコードを取得するには、次の手順を実行します。

$record->getAttribute('code');

あなたが言ったようにループ内でループすることにより、このアイテムの価格をループすることができます。価格にアクセスするには、次の手順を実行します。

$pricesTag = $record->getElementsByTagName('prices');
$prices = $pricesTag->item(0)->getElementsByTagName('price');

次に、ループして価格のノード値と属性にアクセスするという大げさなことを繰り返します。

出典:同様の質問

実例:修正されたコード

于 2013-03-06T16:17:49.200 に答える