请问下面这个XML文档用PHP该如何解析 ?
<FlightList Org="TAO" Des="CAN" Date="2011-06-15" Key="bf643ab2-9f64-4225-9222-32c360d7cf4f">
<Flight FlightNo="ZH9668" AirCompanyCode="ZH" AirCompanyName="深圳航空公司" AirOilTax="140" AirPortTax="50" ChildAirOilTax="70" OriginAriportCode="TAO" OriginAirportShortName="青岛流亭机场" OriginAirprotFullName="青岛流亭国际机场" ArriveAirportCode="CAN" ArriveAirportShortName="广州白云机场" ArriveAirportFullName="广州白云国际机场" EquipmentName="空中客车A320" FlyOffTime="2011-06-15 12:40" ArrivalTime="2011-06-15 16:40" IsETicket="True" IsShareFlight="False" JourneyTime="4小时0分" MeatFlag="无" StopNum="1"></Flight>
</FlightList>
补充:<FlightList Org="TAO" Des="CAN" Date="2011-06-15" Key="bf643ab2-9f64-4225-9222-32c360d7cf4f">
<Flight FlightNo="CA4502" AirCompanyCode="CA" AirCompanyName="中国国际航空公司" AirOilTax="140" AirPortTax="50" ChildAirOilTax="70" OriginAriportCode="PVG" OriginAirportShortName="上海浦东机场" OriginAirprotFullName="上海浦东国际机场">
<Cabin RoomType="CommonRoom" RoomPriceTyp="CommonPrice" DiscountRate="50" BaseRoomCode="Y" RealRoomCode="G" RoomDes="50折经济舱[G]" MerchantShortName="同程航空" RoomRuleId="1556" SystemTicketPrice="810" ClientDP="11" SysChildTicketPrice="810" ClientChildDP="3" SystemBabyPrice="160" ClientBabyDP="650" TicketsDes="剩余票数7张" TicketsNum="7" ProccessType="None" TicketRefund="票面30%" TicketChangeDate="同等舱位每次更改需收取票面20%" TicketChange="不得签转" TicketUpgrate="升舱补差价" />
<Cabin 。。。。。。>
<Cabin 。。。。。。>
<Cabin 。。。。。。>
<Cabin 。。。。。。>
</Flight>
</FlightList>
他的格式就是这样的怎么解决啊!
追问:像上面我补充的这些该怎么解决了
答案:<?php
$xml = new DOMDocument();
$xml->load("test.xml");
$flights = $xml->getElementsByTagName("Flight");
foreach($flights as $flight){
echo "FlightNo = " . $flight->getAttribute("FlightNo") . "<br />";
echo "AirCompany = " . $flight->getAttribute("AirCompanyCode") . "<br />";
//...
$cabins = $flight->childNodes;
foreach($cabins as $cabin){
echo "RoomType = ". $cabin->getAttribute('RoomType') . "<br />";
//...
}
}
?>
其他:XML文档用PHP解析 写了个例子,你参照一下:
<?php
$doc = new DOMDocument;
$doc->load('test.xml');
$items = $doc->getElementsByTagName('Flight');
foreach ( $items as $item ) {
echo $item->getAttribute('FlightNo')."\n";
echo $item->getAttribute('AirCompanyCode')."\n";
echo $item->getAttribute('AirCompanyName')."\n";
}
?>
上一个:请问下PHP首页的登陆之后怎么把用户信息显示出来。
下一个:php curl 报错