2012-07-09 56 views
18

我試圖在我的js代碼中使用DOMParser時遇到問題。在我的代碼中,我通過xmlhttp.responseText soap響應來檢索xml文件。我希望能夠訪問它的JSON格式的元素,所以我的代碼如下所示:嘗試使用節點js的DOMParser

var xml = new DOMParser(); 
xml = xml.parseFromString(xmlhttp.responseText, 'text/xml'); 
var result = xmlToJson(xml); 

我收到此錯誤信息: 的ReferenceError:的DOMParser沒有定義

編輯: 這個鏈接不是招」 t爲我工作,因爲我的JavaScript不在HTML頁面,因爲它是一個node.js文件。 JavaScript DOMParser access innerHTML and other properties

回答

-1
var DOMParser = require('xmldom').DOMParser; 
var doc = new DOMParser().parseFromString(
    '<xml xmlns="a" xmlns:c="./lite">\n'+ 
     '\t<child>test</child>\n'+ 
     '\t<child></child>\n'+ 
     '\t<child/>\n'+ 
    '</xml>' 
    ,'text/xml'); 
3

您可以使用一個節點實現的DOMParser,如xmldom。這將允許您在瀏覽器之外訪問DOMParser。例如:

var DOMParser = require('xmldom').DOMParser; 
var parser = new DOMParser(); 
var document = parser.parseFromString('Your XML String', 'text/xml'); 
+2

它不起作用 - 當試圖解析html頁面時,吐出很多錯誤「未找到實體」 – DataGreed 2016-02-25 20:03:37

+0

xmldom是一箇舊庫。沒有querySelector支持 – benmcdonald 2016-08-16 10:14:33

+0

'xmldom'是DOMParser的糟糕替代品。它沒有正確解析對等元素。 – 2017-09-12 20:22:53