2014-03-26 2 views
0

jquery 및 search.asmx를 통한 내 쿼리가 성공적이며 xml 결과 집합을 반환합니다. 그러나 QueryResult 노드의 내용은 XML로 이스케이프 처리되므로 파싱하는 방법을 알 수 없습니다. 예 :SharePoint 검색 구문 분석 .asmx 결과

<QueryResult>&lt;ResponsePacket xmlns="urn:Microsoft.Search.Response"&gt;&lt;Response domain="QDomain"&gt;&lt;Range&gt;&lt;StartAt&gt;1&lt;/StartAt&gt;&lt;Count&gt;5&lt;/Count&gt;&lt;TotalAvailable&gt;5&lt;/TotalAvailable&gt;&lt;Results&gt;&lt;Document xmlns="urn:Microsoft.Search.Response.Document"&gt ... </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 내가 구현하는 데 필요한 아마도하지만 난 방법을 잘 모르겠어요. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

답변

1

당신은 XML 문자열을 구문 분석 jQuery.parseXML를 사용할 수 있습니다

var xmlDoc = $.parseXML(xData.responseText); 

그런 다음 당신은 당신이 HTML로 작업 jQuery를 같은 방법을 사용하여 XML을 통과 할 수

$(xmlDoc).find("TotalAvailable").text() // get TotalAvailable element value 
+0

당신을 감사합니다! 그것은 트릭을했다!! – user1890032