【问题标题】:Facing Error in parsing xml file using node js使用节点js解析xml文件时面临错误
【发布时间】:2020-06-29 07:20:22
【问题描述】:

我一直在尝试使用“xml-js”解析 XML 文件。我收到无效 XML 数据的错误。我尝试在线格式化 XML 内容,格式化后我能够解析。所以我试图首先使用'xml-formatter'来格式化内容。但我收到以下错误。请帮我解决上述问题。谢谢。

    var format = require('xml-formatter');
    var xml = await fs.readFile("Master.xml", "utf8");
    var formattedXml = format(xml);

错误

Error: Failed to parse XML
at document (D:\project\node_modules\xml-parser-xo\index.js:49:19)
at parse (D:\project\node_modules\xml-parser-xo\index.js:236:12)
at format (D:\project\node_modules\xml-formatter\index.js:141:23)
at D:\projectImportRouter.js:97:28

【问题讨论】:

    标签: node.js xml xml-formatting


    【解决方案1】:

    如果没有看到 XML(并且没有更具体的错误消息),这是不可能的。

    xml-js 声称“完全符合 XML”;但如果您查看它的依赖关系,它依赖于承认限制的 SAX 库,例如在 DTD 和实体处理领域。我的猜测是您的 XML 属于这些限制所涵盖的区域,并且您的在线格式化程序删除了有问题的结构。

    xml-formatter 包又依赖于 xml-parser 包,它预先说它是“简单的非兼容 XML 解析器”[原文如此],但没有说明限制是什么,所以依靠它来清理你的 XML 充其量是乐观的。

    恐怕 Javascript 世界中 XML 解析器的合规标准还有很多不足之处。我们在开发 Saxon-JS 的时候仔细看了一遍,看到的所有产品都有不足。

    【讨论】:

      猜你喜欢
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-07
      相关资源
      最近更新 更多