javascript - htmlparser2 将 xml 对象转换为字符串

标签 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(至少不是默认情况下)。我回来了<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/

相关文章:

node.js - 查询响应对象的编码

javascript - 使用 babel 时出现意外的保留字 'import'

javascript - 从另一个作用域引用 "instanceof"/prototype

java - 使用奇怪的标签编译样式表 XSL <a :tag>

java - JaxB 将属性解码到 HashMap 中

xml - 如何使 XStream 在解析 XML 时跳过未映射的标签?

javascript - 如何将对象数组设置为格式 { x : {Number}, y : {Number} }? Javascript

javascript - 内容溢出卡片 Angular Material

javascript - Android WebView不显示网站内容

javascript - return如何在这个函数中获取参数