成功に応じてマークアップが変更された場合、USPSのアドレス検証からのxmlリターンをどのように解析しますか?
たとえば、返品が有効な場合は取得しA)
、そうでない場合は取得しB)
ます。A)
ノードに<Error>
存在せず、エラーが発生した場合は、そのエラーを出力したいと思います。ありますが、XMLを解析するためのそのようなことは聞いたことがありません
。PHP
isset()
A)
<?xml version="1.0"?>
<AddressValidateResponse>
<Address ID="0">
<Address2>123 MAIN ST</Address2>
<City>SPRINGFIELD</City>
<State>NY</State>
<Zip5>11111</Zip5>
<Zip4>1111</Zip4>
</Address>
</AddressValidateResponse>
B)
<?xml version="1.0"?>
<AddressValidateResponse>
<Address ID="0">
<Error>
<Number>-45DF6S45F</Number>
<Source>API_AddressCleancAddressClean.CleanAddress2;SOLServer.CallAddressDll</Source>
<Description>Address Not Found. </Description>
<HelpFile></HelpFile>
<HelpContext>1000440</HelpContext>
</Error>
</Address>
</AddressValidateResponse>
現在、次のようなjqueryを使用してxmlを解析しています。
$.ajax({
type: "POST",
url: "usps_xml_verify.php",
data: {<PASS IN VARIABLES>},
dataType: "xml",
success: function(xml) {
$(xml).find('Address').each(function(){
var Address2 = $(this).find('Address2').text();
var Zip5 = $(this).find('Zip5').text();
//etc...
});
}
});