2

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

私がここで間違っているのは何ですか。誰か助けてくれませんか。

4

2 に答える 2

3

Node.jsはブラウザーとは別に実行されているため、ブラウザーが提供する関数はありません。DOMParserはブラウザが提供するクラスであり、Node.jsはサーバー上で実行されるため、それを提供するブラウザはありません。ドキュメントと通信する場合は、別の方法を使用する必要があります。

于 2012-11-02T13:10:17.533 に答える
2

NodeJSはブラウザー内で実行されないため、DOMParserは使用できません。ただし、jsdomは使用できます。nodejsによって提供されます。そして、ノードパッケージマネージャーで利用できます。

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";
    }
});
于 2012-11-02T13:14:40.107 に答える