javascript - fast-xml-parser 认为结束标记是有效的,没有结束括号
问题描述
我正在尝试使用 fast-xml-parser 在 React 应用程序中即时验证一些输入 xml。我只是使用开箱即用的默认选项,当我尝试时<test></test
它会返回有效。
在这里,我将正在运行的文本parser.validate()
及其返回值输出到控制台:
不要粗鲁,但我是否错过了选项中的“做正确和明显的事情”切换?我问是因为我想发布一个问题,并且首先询问 Stackoverflow 是一项要求。
解决方案
明明是个bug...
不要粗鲁,但我是否错过了选项中的“做正确和明显的事情”切换?我问是因为我想发布一个问题,并且首先询问 Stackoverflow 是一项要求。
你没有粗鲁。 粗鲁会期望 SO 对错误报告进行分类(尴尬的是需要通过这样的政策引起对错误的更多关注)。
另请注意,作者
fast-xml-parser
滥用了valid一词。
请参阅格式良好的与有效的 XML。
...但它比一个孤立的错误更糟糕:
从fast-xml-parser's
限制部分:
限制
目前,FXP 无法解析具有“>”属性的 XML。此问题未解决,因为对其修复的正则表达式更改会降低性能。在长属性 [原文如此] 名称的情况下,解析器会变得非常慢。
- 任何基于正则表达式的 XML“解析器”都是玩具,不应专业使用。
底线:这比孤立的错误更严重。这是 .NET 中严重设计缺陷的冰山一角fast-xml-parser
。 建议:避免。
推荐阅读
- r - 汇总按字符列分组的多个因子列并将结果作为 R 中的“嵌套”表返回
- gremlin - gremlin 中的 GraphDB 复杂查询帮助
- javascript - cypress javascript函数的打字稿定义
- vba - 为什么我收到 dbSeeChanges 错误
- android - 从 FCM 通知接收开始导航目的地的参数
- pine-script - 在没有 1 条延迟的情况下回测“每条一次”安全策略?
- python - 如何模拟创建 Bigquery 客户端的现有函数
- docker - 如何在 Docker for Windows 和 WSL2 上共享 Minikube 实例?
- date - 并非所有日期实际上都是日期
- javascript - 在 for 循环中分配变量