Мне нужно отобразить значения <numberofresults>
&
<chargeablerateinfo>
узел в xpath или simpleXML, пожалуйста, дайте мне, как
получить доступ к этим элементам.
В предоставленном XML-документе нет элемента с именем numberofresults
- вы, вероятно, имеете в виду numberOfAdults
.
Это выражение XPath :
//RateInfo/RoomGroup/Room
выбирает любой элемент Room
, который является дочерним по отношению к RoomGroup
, который является дочерним по отношению к любому элементу RateInfo
в XML-документе.
Это выражение 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
}