HTMLParser2将XML对象转换为字符串

5

我在使用node.js时遇到了一些问题,无法让htmlparser2模块输出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>

非常感谢您能提供的任何帮助! -Dylan


已解决。基本上,您需要在getOuterHTML中使用第二个选项... htmlparser.DomUtils.getOuterHTML(dom,{xmlMode:true}) 如果这不起作用,请尝试调用数组中的内部元素,例如: htmlparser.DomUtils.getOuterHTML(dom[0],{xmlMode:true}) 您将不得不在其周围包装一个for循环以获取整个文档,但对我来说有效! - Dylan Williams
1个回答

4
已修复。基本上,您需要在getOuterHTML中使用第二个选项...
htmlparser.DomUtils.getOuterHTML(dom,{xmlMode:true})

如果那样不行,尝试调用数组中的内部元素,例如:
htmlparser.DomUtils.getOuterHTML(dom[0],{xmlMode:true}) 

你需要将它包裹在一个for循环中以获取整个文档,但这对我有效!

谢谢分享!Domutils仍然没有文档,任何帮助都是有用的。 - revelt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接