htmlparser2将xml对象转换为字符串

时间:2014-07-23 14:47:07

标签: javascript xml node.js parsing

我在使用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

1 个答案:

答案 0 :(得分:3)

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

htmlparser.DomUtils.getOuterHTML(dom,{xmlMode:true})

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

htmlparser.DomUtils.getOuterHTML(dom[0],{xmlMode:true}) 

你必须在它周围换一个for循环来获取整个文档,但它对我有用!