当前位置:编程学习 > php >>

请问下面这个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 报错

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,