2017-05-07 45 views
0

這是我的XML代碼如何從PHP中的XML文件中獲取值?

<Hotelobjekt xmlns="http://www.dcs-caesar.de/hoteldaten" CRSSperre="false" Buchungssperre="false"> 
     <Hotelcode>AYTBLK0038</Hotelcode> 
     <Hotelname>LIMAK ATLANTIS DE LUXE HOTEL &amp;amp; RESORT</Hotelname>  
    <Saisondefinition Saisonkuerzel="W16" DatumVon="2016-11-01" DatumBis="2017-04-06"> 
     <Saisonzeit Nummer="1"> 
      <Zeitraum DatumVon="2016-11-01" DatumBis="2016-11-18"/> 
      <Zeitraum DatumVon="2016-12-25" DatumBis="2016-12-31"/> 
     </Saisonzeit> 
     <Saisonzeit Nummer="2"> 
      <Zeitraum DatumVon="2017-01-01" DatumBis="2017-03-06"/> 
      <Zeitraum DatumVon="2016-11-19" DatumBis="2016-12-24"/> 
     </Saisonzeit> 
     <Saisonzeit Nummer="3"> 
      <Zeitraum DatumVon="2017-03-07" DatumBis="2017-04-06"/> 
     </Saisonzeit> 
     </Saisondefinition> 
    </Hotelobjekt> 



$items = simplexml_load_file($url); 
print_r($items); // it's okey works 

陣列輸出;

SimpleXMLElement對象([@屬性] =>數組([CRSSperre] => 假[Buchungssperre] =>假)[Hotelcode] => AYTBLK0038 [Hotelname] => LIMAK ATLANTIS DE豪華酒店& RESORT (Saisonzeerzel)=> W16 [DatumVon] => 2016-11-01 [DatumBis] => 2017-04-06)[Saisonzeit] => SimpleXMLElement Object([@attributes] => Array > Array([0] => SimpleXMLElement Object([@attributes] => Array([0] => ) ([DatumVon] => 2016-11-01 [Dat ([@attributes] =>數組([DatumVis] => 2016-12-25 [DatumBis] => 2016-12-31) ))[] [] [] => SimpleXMLElement Object([@attributes] => Array([Nummer] => 2)[Zeitraum] => Array([0] => SimpleXMLElement Object([@attributes] => Array ([DatumVon] => 2017-01-01 [DatumBis] => 2017-03-06))[1] => SimpleXMLElement Object([@attributes] => Array([DatumVon] => 2016-11-19 [Datatis] => 2016-12-24)))[2] => SimpleXMLElement Object([@attributes] => Array([Nummer] => 3)[Zeitraum] => SimpleXMLElement Object([@attributes] => Array( [DatumVon] => 2017-03-07 [DatumBis] => 2017-04-06))))))

echo $items->Hotelcode."<br>"; 
echo $items->Hotelname."<br>"; 

此代碼的工作,但我想要得到的其他代碼

​​

回答

0

只要做到循環使用子項

$xml = simplexml_load_string($string); 
foreach($xml->Saisondefinition->Saisonzeit as $Saisonzeit) { 
    echo $Saisonzeit['Nummer'] . "<br>\n"; 
    foreach($Saisonzeit->Zeitraum as $Zeitraum) { 
     echo $Zeitraum['DatumVon'] . ' - ' . $Zeitraum['DatumBis'] . "<br>\n"; 
    } 
} 

Demo on eval.in

+0

由於其作品 – lafcanbazi

0

您可以直接引用這些通過使用像...

echo $items->Saisondefinition[0]->Saisonzeit[0]->Zeitraum['DatumVon']."<br>"; 

的最主要的是,元件使用->elementName訪問,而屬性被作爲陣列的元素進行訪問,所以->elementName['attributeName']

+0

由於這個代碼工作 – lafcanbazi