重複の可能性:
SimpleXML を使用して名前空間で XML を解析する
私はxpathが初めてで、これを解析できません。出力は生成されません。
これには、Google Map API V3 から返された XML が含まれます。PostalCode/PostalCodeNumber から郵便番号を解析して返すようにしたいと考えています。このテストを設定したのは、Google の API が他のタグを邪魔している場合でも、PostalCode/PostalCodeNumber に確実にアクセスできるようにする必要があるためです。したがって、静的ツリー構造パスに依存せずに PostalCode/PostalCodeNumber などに直接アクセスできるようにしたいので、xpath を機能させることが重要です。あなたの返信に親切で親切にしてください、ありがとう!
<?php
$xml = <<<XML
<?xml version="1.0" encoding="UTF-8" ?>
<kml xmlns="http://earth.google.com/kml/2.0"><Response>
<name>40.74445606,-73.97495072</name>
<Status>
<code>200</code>
<request>geocode</request>
</Status>
<Placemark id="p1">
<address>317 E 34th St, New York, NY 10016, USA</address>
<AddressDetails Accuracy="8" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><Country><CountryNameCode>US</CountryNameCode><CountryName>USA</CountryName><AdministrativeArea><AdministrativeAreaName>NY</AdministrativeAreaName><Locality><LocalityName>New York</LocalityName><Thoroughfare><ThoroughfareName>317 E 34th St</ThoroughfareName></Thoroughfare><PostalCode><PostalCodeNumber>10016</PostalCodeNumber></PostalCode></Locality></AdministrativeArea></Country></AddressDetails>
<ExtendedData>
<LatLonBox north="40.7458050" south="40.7431070" east="-73.9736017" west="-73.9762997" />
</ExtendedData>
<Point><coordinates>-73.9749507,40.7444560,0</coordinates></Point>
</Placemark>
</Response></kml>
XML;
$xml = new SimpleXMLElement($xml);
$result = $xml->xpath('PostalCode/PostalCodeNumber');
while(list( , $node) = each($result)) {
echo 'PostalCode/PostalCodeNumber: ',$node,"\n";
}
?>