2014-10-02 34 views
1

我有一個命名空間中的XML文檔的字符串:不能得到namspaced元素

<?xml version="1.0" encoding="UTF-8"?> 
    <feed xmlns="http://www.w3.org/2005/Atom" xmlns:zapi="http://zotero.org/ns/api"> 
    <entry> 
     <zapi:year>2014</zapi:year> 
    </entry> 
    </feed> 

我有一個JavaScript DOM解析器解析這個(其中zXml高於字符串):

var dp = new DOMParser(); 
var zDom = dp.parseFromString(zXml, "text/html"); 
var entry = zDom.querySelector("entry"); 

然後我想這一年,所以我嘗試:

entry.getElementsByTagNameNS("http://zotero.org/ns/api", "year") 

不幸的是這給了我一個空的列表,[]

我該怎麼做呢?

回答

1

啊,找到它了。只是使用

var zDom = dp.parseFromString(zXml, "text/xml"); 
0

你是如何反對jQuery? http://jsbin.com/vutura/3/edit

zXml = '<?xml version="1.0" encoding="UTF-8"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:zapi="http://zotero.org/ns/api"><entry><zapi:year>2014</zapi:year></entry></feed>'; 
; 

zDom = $.parseXML(zXml); 
console.log($(zDom).find('entry').text()); 
+0

;-) - 這是應該載入速度更快,所以我不使用jQuery有簡單的網頁。 – Leo 2014-10-03 00:26:57

+1

雅我upvoted你的答案,因爲它只是一個錯誤。 – 2014-10-03 00:39:50

+0

更多副本+粘貼。 ;-) - 雖然我不知道有什麼不同。或者我忘記了它。 – Leo 2014-10-03 00:42:12