2012-03-01 157 views
0
<HotelList> 
    <HotelSummary> 
    <hotelId>247331</hotelId> 
    <name>The Accord</name> 
    <RoomRateDetailsList> 
     <RoomRateDetails> 
     <roomTypeCode>200052939</roomTypeCode> 
     <rateCode>200309117</rateCode> 
     <RateInfos size="1"> 
      <RateInfo rateChange="false" promo="true" priceBreakdown="true"> 
      <RoomGroup> 
       <Room> 
       <numberOfAdults>2</numberOfAdults> 
       </Room> 
      </RoomGroup> 
      <ChargeableRateInfo total="103.01" surchargeTotal="26.52" nightlyRateTotal="76.49" maxNightlyRate="76.49" currencyCode="USD" commissionableUsdTotal="76.49" averageRate="76.49" averageBaseRate="101.99"> 
      </ChargeableRateInfo> 
     </RateInfo> 
     </RateInfos> 
    </RoomRateDetails> 
    </RoomRateDetailsList> 
</HotelSummary> 
</HotelList> 

朋友你好, 我需要的XPath 顯示<numberofresults> & <chargeablerateinfo>節點的值或simplexml的PLZ給我如何訪問這些元素。 我用這個代碼XPath查詢

foreach($item ->('RoomRateDetailsList/RoomRateDetails/RateInfos/RateInfo /RoomGroup/Room/') as $items){ 
    echo $item->numberofresults; 
    } 

,但它不工作 PLZ給我的建議或全編碼 由於事先

+0

顯示numberofresults和chargea的值bleinfo – 2012-03-01 14:28:36

+0

azarudeen ajees,我的回答對你有用嗎?如果是這樣,請*,接受*(通過點擊答案旁邊的複選標記)。 – 2012-03-02 13:56:32

+0

你的答案幫了我,但我沒有找到它附近的複選標記plz指示 – 2012-03-03 03:40:48

回答

1

我需要顯示的值的<numberofresults> & <chargeablerateinfo> node in xpath或simpleXML plz give我如何 訪問這些元素。

在提供的XML文檔中沒有名爲numberofresults元素 - 你大概是這個意思numberOfAdults

這個XPath表達式

//RateInfo/RoomGroup/Room 

選擇任何Room元件是一個RoomGroup在XML文檔中的任何RateInfo元素的子元素的子元素。

這個XPath表達式

//RateInfo/RoomGroup/Room/numberOfAdults 

選擇由前面的表達式中選擇的元素的numberOfAdults孩子。

而這個XPath表達式

//RateInfo/ChargeableRateInfo 

選擇與RoomGroup

所以相關的ChargeableRateInfo元素,在你的代碼,你可能想要做這樣的事情

$xml = simplexml_load_file("test.xml"); 

$rateInfos = $xml->xpath('//RateInfo');     
foreach ($rateInfos as $rateInfo) 
{  
    $rooms = $rateInfo->xpath('RoomGroup/Room'); 

    foreach ($rooms as $room) 
    { 
     echo $room->numberOfAdults; 
    } 

    $chargeableRateInfo = $rateInfo->xpath('ChargeableRateInfo'); 

    // Do whatever is wanted with $chargeableRateInfo    
} 
+1

如果OP會授予一些功勞,那該多好啊? – 2012-03-02 07:39:13

0
$xml = simplexml_load_file("test.xml"); 
$rooms = $xml->xpath('//Room'); 
foreach ($rooms as $room) { 
    echo $room->numberOfAdults; 
} 

應該做的伎倆

+0

如何在xpath中訪問ChargeableRateInfo的屬性php plz help it – 2012-03-02 07:26:17