1

私は Web サービス統合プロジェクトに取り組んでいます。ここで、cURL メソッドを使用してリクエストを渡し、XML レスポンスを取得します。XML 応答ファイルを保存する代わりに、自分のページに XML 応答をエコーし​​ました (サーバーの応答時間を節約できると考えました)。今、私は自分のページでこのようにエコーされた XML 応答を取得しています。

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
<SOAP-ENV:Body>
   <CreateShipmentReply xmlns="http://www.parcelforce.net/ws/ship/v5">
     <CompletedShipmentInfo>    
         <Status>ALLOCATED</Status>
      <CompletedShipments>
        <CompletedShipment>
            <ShipmentNumber>MK0030912</ShipmentNumber>
        </CompletedShipment>
      </CompletedShipments>
      <RequestedShipment>
        <DepartmentId>1</DepartmentId>
        <ShipmentType>DELIVERY</ShipmentType>
        <ContractNumber>P664383</ContractNumber>
        <ServiceCode>SUP</ServiceCode>
        <ShippingDate>2012-05-25</ShippingDate>
        <RecipientContact>
           <BusinessName>BUSINESS NAME</BusinessName>

XML のデータをデータベース/テーブルに保存するには、ノードから解析する必要があります。保存されたファイルから XML を解析するためのコードがありますが、エコーされた XML 応答で同じ解決策を見つけることができませんでした。エコーされた XML 応答からデータを読み取るにはどうすればよいですか。

助けが必要。前もって感謝します。

4

2 に答える 2

1

XML を操作するには、 DOM PHP クラスを使用します。それは非常に理解しやすく、非常に強力です。

次の方法で応答 XML をロードするだけです。

$dom = new DOMDocument;

$dom->loadXML($responsestring);

次に、DOMDocument メソッドを使用して DOM を操作し、好きなことを行うことができます。

于 2012-05-25T09:43:36.497 に答える
0

SimpleXMLを読んで、xmlドキュメントをオブジェクトに変換し、読みやすく操作しやすくすることをお勧めします。すなわち

$xml_object = new SimpleXMLElement($xmlstr);

于 2012-05-25T09:39:59.053 に答える