【发布时间】:2012-10-03 23:02:58
【问题描述】:
我通过 $.post() 调用了这个 XML,这是返回值:
<processResponse xmlns:client="http://xmlns...." xmlns="http://xmlns..." xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<ns2:ProcessResult xmlns:ns2="http://xmlns...">
<ns2:StatusCode>SUCCESS</ns2:StatusCode>
<ns2:StatusMessages>
<ns2:StatusMessage>
<ns2:Code>0</ns2:Code>
<ns2:Message>Success</ns2:Message>
</ns2:StatusMessage>
</ns2:StatusMessages>
</ns2:ProcessResult>
<premises>
<ns3:cwsPremise xmlns:ns3="http://xmlns..">
<ns3:cwsPremiseService>
<ns3:cwsPremiseHeader PremiseID="5855654654"/>
<ns3:cwsPremiseDetails PremiseID="5855654654" PremiseType="BBBB" Address="3892 A street" City="PA" Postal="96456" PremiseDataArea="PB" PremiseInfo="b55" District="a333" IsMultiple="N" AllowSelfService="Y" NeedAppointment="N"/>
</ns3:cwsPremiseService>
</ns3:cwsPremise>
<ns3:cwsPremise xmlns:ns3="http://xmlns...">
<ns3:cwsPremiseService>
<ns3:cwsPremiseHeader PremiseID="99565423587"/>
<ns3:cwsPremiseDetails PremiseID="99565423587" PremiseType="AAAA" Address="123 Main street" City="SC" Postal="98652" PremiseDataArea="AE" PremiseInfo="K876" District="b999" IsMultiple="N" AllowSelfService="Y" NeedAppointment="N"/>
</ns3:cwsPremiseService>
</ns3:cwsPremise>
</premises>
</processResponse>
如何解析<ns3:cwsPremiseDetails PremiseID="5855654654" PremiseType="BBBB" Address="3892 A street" City="PA" Postal="96456" PremiseDataArea="PB" PremiseInfo="b55" District="a333" IsMultiple="N" AllowSelfService="Y" NeedAppointment="N"/>中的PremiseID、PremiseType、Address、Postal、PremiseDataArea、PremiseInfo、District等属性?
这是我的尝试:
$.post(url, function(xml) {
var $PremiseID = $(xml).find('cwsPremiseDetails').attr('PremiseID').text();
console.log($PremiseID);
// output: nothing
});
【问题讨论】:
-
检查控制台是否有错误,
attr()也会返回一个字符串。 -
不错,但它返回未定义。
标签: jquery xml xml-parsing