<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>
朋友你好,
我需要显示<numberofresults>
&amp;的值xpath中的<chargeablerateinfo>
节点
或simpleXML plz给我如何访问这些元素。
我用过这段代码
foreach($item ->('RoomRateDetailsList/RoomRateDetails/RateInfos/RateInfo /RoomGroup/Room/') as $items){
echo $item->numberofresults;
}
但它没有用 请给我建议或完整的编码 提前谢谢
答案 0 :(得分:1)
我需要显示
<numberofresults>
&amp;的值 xpath或simpleXML plz中的<chargeablerateinfo>
节点给我如何操作 访问这些元素。
在提供的XML文档中没有名为numberofresults
的元素 - 您可能意味着numberOfAdults
。
此XPath表达式:
//RateInfo/RoomGroup/Room
选择任何Room
元素,该元素是RoomGroup
的子元素,该元素是XML文档中任何RateInfo
元素的子元素。
此XPath表达式:
//RateInfo/RoomGroup/Room/numberOfAdults
选择前一个表达式所选元素的numberOfAdults
子元素。
这个XPath表达式:
//RateInfo/ChargeableRateInfo
选择与ChargeableRateInfo
RoomGroup
元素
因此,在您的代码中,您可能希望执行类似的操作:
$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 :(得分:0)
$xml = simplexml_load_file("test.xml");
$rooms = $xml->xpath('//Room');
foreach ($rooms as $room) {
echo $room->numberOfAdults;
}
应该做的伎俩