这看起来似乎微不足道,但我无法弄清楚如何1)检索XML数据和2)使用这种特定的XML结构在子元素中查找特定内容!
XML:
<UploadResults>
<Header>
<Header_ID>1</Header_ID>
<PlanYear>2015</PlanYear>
<PlanVersion>FP01</PlanVersion>
</Header>
<ErrorSet>
<Row>
<Row_Id>0</Row_Id>
<Error_String>Validation successful with Zero Errors</Error_String>
</Row>
<Row>
...
</Row>
</ErrorSet>
</UploadResults>
我的代码:
$.ajax({
type: "GET",
url: "testurl",
dataType: "xml",
success: function(xml) {
$(xml).find('UploadResults').each(function(){
var errMsg = $(this).find('Error_String').text(); // set variable as content in child 'Error_String'
$(".validationView").append($(this).text()); // display all xml data on div class
if (errMsg=="Validation successful with Zero Errors") {
$("span.proceedBTN").show();
}
});
}
});
该脚本使用以下XML结构,因此我不确定脚本为什么不从第一个xml结构返回任何数据。 (当然,我会将根名称从UploadResults更改为Rowsets)
<Rowsets>
<Rowset>
<Columns>
<Column Description="Header_Id"/>
<Column Description="PlanYear"/>
<Column Description="PlanVersion"/>
</Columns>
<Row>
<Row_Id>0</Row_Id>
<Error_String>Validation successful with Zero Errors</Error_String>
</Row>
<Row>
...
</Row>
</Rowset>
</Rowsets>
答案 0 :(得分:2)
您不需要查找上传结果,它是您文档的根源。
$(xml).each(function(){
var errMsg = $(this).find('Error_String').text(); // set variable as content in child 'Error_String'
$(".validationView").append($(this).text()); // display all xml data on div class
if (errMsg=="Validation successful with Zero Errors") {
$("span.proceedBTN").show();
}
});
我刚刚运行它,它在这里工作的是JSFiddle that shows it in action。