2013-11-02 2 views
2

javascript/jquery를 사용하여 XML 검색 방법에 대한 좋은 부분을 찾고 있었지만 대부분의 방법은 HTML 또는 달성하기를 원하지 않는 XML의 레코드 배열 전체를 표시합니다. 내가 찾고있는 기능은 "Sarah"와 같은 사용자를 검색 한 다음 해당 변수에 "부서"와 "코드"를 저장하는 것입니다. (var 부서, var 코드). 나는 다음의 XML 파일을 가지고있다.jquery를 사용하여 XML 파일을 검색하고 나중에 사용하기 위해 변수에 결과를 저장하는 데 도움이 필요합니다.

<?xml version="1.0" encoding="utf-8" ?> 
<phonebook> 
<person> 
    <first_name>Sarah</first_name> 
    <department>Sales</department> 
    <code>78</code> 
</person> 
<person> 
    <first_name>Jean-Claude</first_name> 
    <department>HR</department> 
    <code>90</code> 
</person> 
</phonebook> 

400 개가 넘는 XML 파일에 대해 어떻게해야 하는가?

감사합니다. 앞으로는 사람들을위한 최종 해결책이 있습니다 :

답변

0

jQuery는 XML에서 잘 작동해야합니다.

var doc = $(your-xml-doc-string); 
doc.find('person firstname').each(function() { 
    var self=$(this); 
    console.log(self.text()); 
}); 
// or 
var sarah = doc.find('person firstname:contains("Sarah")'); 

contains 선택기가 제대로 작동합니다.

3

이 같은 filter을 사용할 수 있습니다 : filter:contains 선택기를 사용하는 것보다 훨씬 빠르다

function parseXML(xml) { 
    var $person = $(xml).find('first_name').filter(function() { 
     return $(this).text() == "Sarah"; 
    }).closest('person'); 

    var department = $('department', $person).text(); // = Sales 
    var code = $('code', $person).text(); // = 78 
} 

하는 것으로. 이 차이는 4000 요소가 검색 될 때 매우 눈에.니다.

관련 문제