我一直在尝试使用' XML -js‘解析xml文件。我收到一个关于无效XML数据的错误。我尝试在线格式化XML内容,在格式化之后我能够解析。因此,我正在尝试首先使用“xml- format to”格式化内容。但是我得到了下面的错误。请帮助我解决上面的问题。谢谢。
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发布于 2020-06-29 16:46:00
如果看不到XML (并且没有更具体的错误消息),就不可能这么说。
xml-js声称是“完全兼容XML的”;但是如果您查看它的依赖关系,就会发现它依赖于一个SAX库,该库承认限制,例如在DTD和实体处理方面。我的猜测是,您的XML位于这些限制所覆盖的区域,并且您的在线格式化程序删除了有问题的构造。
XML格式化程序包反过来依赖于xml-parser包,该包预先声明它是一个“简单的、不兼容的XML解析器”sic,但没有说明限制是什么,所以依赖它来清理您的XML充其量也是乐观的。
恐怕Javascript世界中XML解析器的合规性标准还有很多需要改进的地方。当我们开发Saxon-JS时,我们仔细查看了一下,我们看到的所有产品都是有缺陷的。
https://stackoverflow.com/questions/62633084
复制相似问题