【发布时间】:2017-09-22 06:34:07
【问题描述】:
我正在尝试从 xml 中获取子节点并对其进行迭代,但不知何故它不起作用。我的 xml 文档:
<GetSalutationResponse xmlns="http://tempuri.org/">
<GetSalutationResult xmlns:a="http://schemas.datacontract.org/2004/07/Trips_Service.DataClass" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:error i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/"/>
<a:salutationslist>
<a:Salutations>
<a:SalutationID>Mr</a:SalutationID>
<a:SalutationName>Mr</a:SalutationName>
</a:Salutations>
<a:Salutations>
<a:SalutationID>Mrs</a:SalutationID>
<a:SalutationName>Mrs</a:SalutationName>
</a:Salutations>
<a:Salutations>
<a:SalutationID>Dr</a:SalutationID>
<a:SalutationName>Dr</a:SalutationName>
</a:Salutations>
<a:Salutations>
<a:SalutationID>Ms</a:SalutationID>
<a:SalutationName>Ms</a:SalutationName>
</a:Salutations>
</a:salutationslist>
</GetSalutationResult>
</GetSalutationResponse>
我的 javscript 代码我用来获取子节点并对其进行迭代。
var result = xmldoc;
var v1 = $(result).find('GetSalutationResponse').find('GetSalutationResult');
if ($(v1).find('error').length > 0 && $(v1).find('error').attr('i:nil') != 'true') {
resp.error = new Error();
resp.error.ErrorMessage = $(v1).find('error').find('ErrorMessage').text();
}
else {
resp.salutationslist = new Array();
$(v1).find('salutationslist').find('Salutations').each(function () {
var o1 = new Salutations();
o1.SalutationID = $(this).find('SalutationID').text();
o1.SalutationName = $(this).find('SalutationName').text();
resp.salutationslist[resp.salutationslist.length] = o1;
});
}
我调试了代码,发现它没有进入每个 jquery 中。
【问题讨论】:
标签: javascript jquery xml find each