用html字符串替换标记内容

时间:2017-05-15 21:10:51

标签: node.js dom xmldom

我有以下xml:

<foo><toReplace/></foo>

我想用以下字符串替换<toReplace/>标记:

"<b>bar</b>"

我该怎么做?

现在我有以下代码:

var xml = "<foo><toReplace/></foo>";
var parser = new dom.DOMParser().parseFromString(xml, "text/xml");
parser.getElementsByTagName("toReplacce")[0].textNode = "<b>bar</b>";
console.log(parser.toString()); // "<foo>&lt;b>bar&lt;/b>"

问题在于逃避HTML。如何在此处用HTML字符串替换内容?

1 个答案:

答案 0 :(得分:1)

您可以随时使用npm

中的模块
var unescape = require('unescape');

console.log(unescape(parser.toString()))

当我测试你的代码时,有一个小错字:( toReplacce而不是toReplace)

var dom = require('xmldom');

var xml = "<foo><toReplace/></foo>";
var parser = new dom.DOMParser().parseFromString(xml, "text/xml");
var a = parser.getElementsByTagName("toReplace")[0];
//console.dir(a);
a.textvalue = "<b>bar</b>";
console.log(parser.toString()); 

enter image description here