我需要通过NodeJS运行javascript代码的帮助。到目前为止,我有以下代码;
txt="<bookstore><book>";
txt=txt+"<title>Everyday Italian</title>";
txt=txt+"<author>Giada De Laurentiis</author>";
txt=txt+"<year>2005</year>";
txt=txt+"</book></bookstore>";
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Diffrent Title";
我把它作为test.js,我在commant提示符下运行它
node test.js
但它会出现以下错误:
ReferenceError: DOMParser is not defined
我在这做错了什么。任何人都可以帮忙。
答案 0 :(得分:3)
Node.js与浏览器分开运行,因此您无法获得任何浏览器提供的功能。 DOMParser
是一个浏览器提供的类,由于Node.js在服务器上运行,因此没有浏览器提供它。如果您想与文档进行通信,则必须使用其他方法。
答案 1 :(得分:2)
NodeJS不在浏览器中运行,因此DOMParser不可用。但是,您可以使用 jsdom 。它由nodejs提供。节点包管理器中的its available。
var jsdom = require("jsdom");
jsdom.env({
html: txt,
scripts: ["http://code.jquery.com/jquery.js"],
done: function(errors, window) {
x = window.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Diffrent Title";
}
});