htmlparser2 将 xml 对象转换为字符串

Dyl*_*ams 5 javascript xml parsing node.js

我在让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();
}
Run Code Online (Sandbox Code Playgroud)

然后我得到一个名为“dom”的对象,我对其进行了一些工作。完成该工作后,我想将其导出回 XML 字符串。我知道这htmlparser.DomUtils.getOuterHTML(dom)适用于 HTML 对象,但不适用于 XML(至少默认情况下不是)。<undefined></undefined>当我调用htmlparser.DomUtils.getOuterHTML(dom)xml dom时我回来了。

预先感谢您提供的任何帮助!-迪伦

Dyl*_*ams 4

固定的。基本上你需要在 getOuterHTML 中使用第二个选项...

htmlparser.DomUtils.getOuterHTML(dom,{xmlMode:true})
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,请尝试调用数组中的内部元素,例如:

htmlparser.DomUtils.getOuterHTML(dom[0],{xmlMode:true}) 
Run Code Online (Sandbox Code Playgroud)

您必须在它周围包裹一个 for 循环才能获取整个文档,但这对我有用!