如果标记根据成功发生变化,我将如何解析来自 USPS 地址验证的 xml 返回?
例如,如果返回有效,我得到A)
,如果不是,我得到B)
。在A)
节点<Error>
中不存在并且如果有错误我想输出那个错误。
在PHP
那里isset()
,但我从来没有听说过类似的解析 XML 的东西。
一个)
<?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>
二)
<?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...
});
}
});