0

PHPで次の構造を読みたいです。

<Listing>
<Unit_Type> 1 Bedroom </Unit_Type>
<Facilities>
<facility>Balcony</facility>
<facility>Basement parking</facility>
<facility>BBQ area</facility>
<facility>Built in wardrobes</facility>
<facility>Covered parking</facility>
</Facilities>
</Listing>

以下は私のコードです。

$feeds = new DOMDocument();
$feeds->load("propspace.xml"); 
$properties = $feeds->getElementsByTagName("Listing");

foreach( $properties as $property ){
$unittype_tag = $property->getElementsByTagName("Unit_Type");
$unit_type = $unittype_tag->item(0)->nodeValue;

 } 

<facility>タグの数は可変です。

任意のヘルプをいただければ幸いです。

4

2 に答える 2

1

機能を読み取るには、getElementsByTagName("facility")次のように呼び出し$propertyます。

$feeds = new DOMDocument();
$feeds->load("propspace.xml"); 
$properties = $feeds->getElementsByTagName("Listing");

foreach( $properties as $property ){
  $unittype_tag = $property->getElementsByTagName("Unit_Type");
  $unit_type = $unittype_tag->item(0)->nodeValue;

  foreach($property->getElementsByTagName("facility") as $f){
    echo $f->nodeValue . "\n";
  }
} 

出力

バルコニー
地下駐車場
バーベキューエリア
ビルトインワードローブ
屋根付き駐車場

デモ

于 2013-02-12T10:01:52.503 に答える
0
<?php

  $xml = '
   <Listing>
      <Unit_Type> 1 Bedroom </Unit_Type>
      <Facilities>
         <facility>Balcony</facility>
         <facility>Basement parking</facility>
         <facility>BBQ area</facility>
         <facility>Built in wardrobes</facility>
         <facility>Covered parking</facility>
      </Facilities>
   </Listing>';

  $feeds = new DOMDocument();
  $feeds->loadXML($xml); 
  $properties = $feeds->getElementsByTagName("Listing");

  foreach( $properties as $property )
  {
    $unittype_tag = $property->getElementsByTagName("Unit_Type");
    $unit_type = $unittype_tag->item(0)->nodeValue;
    $Facilities = $property->getElementsByTagName("facility")
    foreach($Facilities as $facility)
    {
      echo "<pre>";
      print_r($facility->nodeValue);
      echo "</pre>";
    }    
  }

?>
于 2013-02-12T10:19:11.057 に答える