<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>
节点的值或简单的XML,请告诉我如何访问这些元素。 我使用了这个代码
foreach($item ->('RoomRateDetailsList/RoomRateDetails/RateInfos/RateInfo /RoomGroup/Room/') as $items){
echo $item->numberofresults;
}
但它不起作用请给我建议或完整编码提前致谢
我需要显示
<numberofresults>
和<chargeablerateinfo>
xpath或simpleXML中的节点请告诉我如何 访问这些元素。
在提供的 XML 文档中没有名为 numberofresults
的元素 - 您可能是指numberOfAdults
。
此 XPath 表达式:
//RateInfo/RoomGroup/Room
选择作为 XML 文档中任何RateInfo
元素的子元素的RoomGroup
子级的任何Room
元素。
此 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
}
$xml = simplexml_load_file("test.xml");
$rooms = $xml->xpath('//Room');
foreach ($rooms as $room) {
echo $room->numberOfAdults;
}
应该做这个技巧