我在获取 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(至少不是默认情况下)。我回来了<undefined></undefined>
当我调用 htmlparser.DomUtils.getOuterHTML(dom)
在 xml dom 上。
在此先感谢您提供的任何帮助! -迪伦
最佳答案
已修复。基本上您需要在 getOuterHTML 中使用第二个选项...
htmlparser.DomUtils.getOuterHTML(dom,{xmlMode:true})
如果这不起作用,请尝试调用数组中的内部元素,例如:
htmlparser.DomUtils.getOuterHTML(dom[0],{xmlMode:true})
您必须围绕它包装一个 for 循环才能获取整个文档,但它对我有用!
关于javascript - htmlparser2 将 xml 对象转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24913706/