【发布时间】:2014-07-23 14:47:06
【问题描述】:
我在让htmlparser2 模块(使用 node.js)输出 xml 字符串时遇到了一点麻烦。基本上我是这样解析的:
var htmlparser=require('htmlparser2');
function(xmlString,cb){
var handler=new htmlparser.DomHandler(cb);
var parser = new htmlparser.Parser(handler);
parser.write(xmlString);
parser.done();
}
然后我得到一个名为“dom”的对象,我对它做了一些工作。完成这项工作后,我想将其导出回 XML 字符串。我知道 htmlparser.DomUtils.getOuterHTML(dom) 适用于 HTML 对象,但不适用于 XML(至少默认情况下不适用)。当我在 xml dom 上调用 htmlparser.DomUtils.getOuterHTML(dom) 时,我会返回 <undefined></undefined>。
提前感谢您提供的任何帮助! -迪伦
【问题讨论】:
-
已修复。基本上,您需要在 getOuterHTML 中使用第二个选项... htmlparser.DomUtils.getOuterHTML(dom,{xmlMode:true}) 如果这不起作用,请尝试调用数组中的内部元素,例如: (dom[0],{xmlMode:true}) 你必须在它周围包裹一个 for 循环来获取整个文档,但它对我有用!
标签: javascript xml node.js parsing