2014-01-17 1 views
1

XMl 파일을 구문 분석하기 위해 jQuery를 사용하고 있습니다.jQuery XML 구문 분석, 두 개의 다른 노드, 같은 이름

XML 파일이 포함 된 다음

<item> 
<title> Hello! </title> 
<media:title> Hello! </media:title> 
</item> 

내가의 title 안에 무엇을 구문 분석 할 내가

var parsedTitle = $item.find("title"); 
console.log(parsedTitle.text()); //output: Hello!Hello! 

를 사용할 때 두 개의 노드와이 있기 때문에 출력이 중복됩니다 같은 이름.

하나를 어떻게 선택합니까? 의 나는 또한 선택기에서 네임 스페이스를 지원하기 위해 jQuery를 확장 할 수

+0

을'.find()'textContent가 아닌 콜렉션을 리턴한다. [문제를 재현 할 수 있는가?] (http://jsfiddle.net)? – undefined

+0

내 질문이 업데이트되었습니다. 나는'.text()'를 사용하여 textContent를 얻는다. – Sobiaholic

답변

0
var parsedTitle = $item.find("title").filter(function() { 
    return this.namespaceURI === "http://the/media/namespace/uri/"; 
}); 

이름 공간 만 제목을 구문 분석하고 싶은 말은하자

$.expr[':'].ns = function (obj, index, meta, stack) { 
    return obj.namespaceURI === meta[3]; 
}; 

이후

var parsedTitle = $item.find("title:ns(http://the/media/namespace/uri/)");