以下のデータを含む SOAP XML ファイル (data.xml) を作成しました。実際には、いくつかの API の応答です。
<?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>
<GetAuctionList2Response xmlns="GdAuctionsBiddingWSAPI">
<GetAuctionList2Result>
<AuctionList IsValid="True" TotalRecords="98">
<Auction ID="112910726" Name="SOFTWARE-SERVER.ORG" Traffic="2" BidCount="0" Price="$9 USD" ValuationPrice="-" TimeLeft="9H 36M " RowID="1"/>
<Auction ID="112926015" Name="SOFTWARELAWSUITS.COM" Traffic="0" BidCount="0" Price="$8 USD" ValuationPrice="-" TimeLeft="9H 39M " RowID="2"/>
<Auction ID="113234131" Name="SOFTWARECRAFTORY.COM" Traffic="4" BidCount="0" Price="$11 USD" ValuationPrice="-" TimeLeft="9H 53M " RowID="3"/>
<Auction ID="112906125" Name="SOFTWARESYSTEMS.CO" Traffic="0" BidCount="0" Price="$8 USD" ValuationPrice="-" TimeLeft="10H 15M " RowID="4"/>
<Auction ID="112692380" Name="SOFTWAREREPAIR.ORG" Traffic="0" BidCount="0" Price="$5 USD" ValuationPrice="-" TimeLeft="10H 46M " RowID="5"/>
</AuctionList>
</GetAuctionList2Result>
</GetAuctionList2Response>
</soap:Body>
</soap:Envelope>
読み込もうとすると、動作せず、エラーがスローされます。初挑戦:
$doc = new DOMDocument();
$doc->load( 'data.xml' );
$auctionList = $doc->getElementsByTagName( "AuctionList" );
foreach( $auctionList as $list ) {
$names = $list->getElementsByTagName( "Auction" );
echo "<b>$name\n</b><br>";
}
エラー:
Notice: DOMDocument::load(): xmlns: URI GdAuctionsBiddingWSAPI is not absolute in file:///C:/xampp/htdocs/adam_auction/data.xml, line: 4 in C:\xampp\htdocs\adam_auction\readfile.php on line 5
Notice: Undefined variable: name in C:\xampp\htdocs\adam_auction\readfile.php on line 13
2 回目の試行:
$s = simplexml_load_string('http://localhost/adam_auction/data.xml');
print_r($s);
エラー:
Warning: simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found in C:\xampp\htdocs\adam_auction\readfile.php on line 4
Warning: simplexml_load_string(): http://localhost/adam_auction/data.xml in C:\xampp\htdocs\adam_auction\readfile.php on line 4
Warning: simplexml_load_string(): ^ in C:\xampp\htdocs\adam_auction\readfile.php on line 4
SOAP XML ファイルの何が問題なのか、誰か助けてもらえますか?
1) XML ファイルは無効ですか? 2)それを読んで変数に保存する方法は?3) 「オークション」タグ情報を取得して配列に保存する方法は?