我在使用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上调用<undefined></undefined>
时,我会回来htmlparser.DomUtils.getOuterHTML(dom)
。
提前感谢您提供的任何帮助! -Dylan
答案 0 :(得分:3)
固定。基本上你需要在getOuterHTML中使用第二个选项......
htmlparser.DomUtils.getOuterHTML(dom,{xmlMode:true})
如果这不起作用,请尝试调用数组中的内部元素,如:
htmlparser.DomUtils.getOuterHTML(dom[0],{xmlMode:true})
你必须在它周围换一个for循环来获取整个文档,但它对我有用!