日期:2014-05-17  浏览次数:20491 次

用php读取xml soap
我又遇到一个难题,请高手帮我解决一下

有个xml文件,格式比较奇怪,也许我从来没有接触过这种文件吧

XML code

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<QueryResponse xmlns="http://tempuri.org/">
<QueryResult>
Order_flag=0&amp;Name_num=2077&amp;StartCity=SZX&amp;EndCity=PEK&amp;Dates=2012-5-31&amp;.......后面还有好多这样的数据。
</QueryResult>
</QueryResponse>
</soap:Body>
</soap:Envelope>




这种文件怎么读取呀?

------解决方案--------------------
把它当xml 用simplexml解析
PHP code
<?php
$soap=<<<SOAP
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<QueryResponse xmlns="http://tempuri.org/">
<QueryResult>
Order_flag=0&amp;Name_num=2077&amp;StartCity=SZX&amp;EndCity=PEK&amp;Dates=2012-5-31&amp;.......后面还有好多这样的数据。
</QueryResult>
</QueryResponse>
</soap:Body>
</soap:Envelope>
SOAP;

$xml=simplexml_load_string($soap);
$result = $xml->children('http://schemas.xmlsoap.org/soap/envelope/')
    ->children('http://tempuri.org/')
    ->QueryResponse
    ->QueryResult;

echo $result;
//Order_flag=0&Name_num=2077&StartCity=SZX&EndCity=PEK&Dates=2012-5-31&.......后面还有好多这样的数据。