首页 > 解决方案 > fast-xml-parser 认为结束标记是有效的,没有结束括号

问题描述

我正在尝试使用 fast-xml-parser 在 React 应用程序中即时验证一些输入 xml。我只是使用开箱即用的默认选项,当我尝试时<test></test它会返回有效。

在这里,我将正在运行的文本parser.validate()及其返回值输出到控制台:

在此处输入图像描述

我也在他们的在线工具中尝试过: 这在什么世界上是有效的?

不要粗鲁,但我是否错过了选项中的“做正确和明显的事情”切换?我问是因为我想发布一个问题,并且首先询问 Stackoverflow 是一项要求。

标签: javascriptxmlparsing

解决方案


明明是个bug...

不要粗鲁,但我是否错过了选项中的“做正确和明显的事情”切换?我问是因为我想发布一个问题,并且首先询问 Stackoverflow 是一项要求。

  1. 你没有粗鲁。 粗鲁会期望 SO 对错误报告进行分类(尴尬的是需要通过这样的政策引起对错误的更多关注)。

  2. 另请注意,作者fast-xml-parser滥用了valid一词。
    请参阅格式良好的与有效的 XML

...但它比一个孤立的错误更糟糕:

fast-xml-parser's 限制部分

限制

目前,FXP 无法解析具有“>”属性的 XML。此问题未解决,因为对其修复的正则表达式更改会降低性能。在长属性 [原文如此] 名称的情况下,解析器会变得非常慢。

  1. 任何基于正则表达式的 XML“解析器”都是玩具,不应专业使用。

底线:这比孤立的错误更严重。这是 .NET 中严重设计缺陷的冰山一角fast-xml-parser建议:避免。


推荐阅读