2014-10-02 54 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