我通过jquery和search.asmx的查询成功并返回一个xml结果集。但QueryResult节点的内容是转义xml,我无法弄清楚如何解析它。例如:
<QueryResult><ResponsePacket xmlns="urn:Microsoft.Search.Response"><Response domain="QDomain"><Range><StartAt>1</StartAt><Count>5</Count><TotalAvailable>5</TotalAvailable><Results><Document xmlns="urn:Microsoft.Search.Response.Document"> ... </QueryResult>
我试图以这种方式解析它,但无处可去。
function procSrchQry(xData, status){
console.log("procSrchQry: start");
$("#debugDiv2").text(xData.responseText);
$(xData.responseXML.xml).find("QueryResult").each(function() {
console.log("Found QueryResult");
$("#debugDiv3").text( $(this).text() );
var x = $("<xml>" + $(this).text() + "</xml>"); // wrap text to make it XML
//traverse the xml to get the items
x.find("Document").each(function() {
console.log("Found Document node");
});
});
console.log("procSrchQry: end ");
}
V_B's answer可能是我需要实现的,但我不确定如何。有人能指出我正确的方向吗?
答案 0 :(得分:1)
您可以使用jQuery.parseXML来解析XML字符串:
var xmlDoc = $.parseXML(xData.responseText);
然后,您可以使用jQuery遍历XML,就像使用html一样:
$(xmlDoc).find("TotalAvailable").text() // get TotalAvailable element value