xml - 通过 XML 解析器推送数据是否会根据本规范执行验证?
问题描述
我正在开发一个系统,该系统声明这是唯一允许的输入:
The following Unicode characters are allowed:
#x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF
Any characters not included in this list will be rejected.
For more information, see the http://www.w3.org/TR/REC-xml/#charsets
我需要验证我的数据以匹配上面给出的规范。
我开始编写代码来逐个字符地评估我的数据,然后我想到这可能与 XML 允许的数据完全相同。
所以我想,我只是将数据推送到 XML 解析器中,如果没有无效的令牌错误,那么验证就完成了。
因此,我编写了一些代码将我的数据插入到最小 XML 文档中的 CDATA 元素中,然后解析数据,这很好——它可以工作,没问题。
但我想知道,我实现了我的目标吗?通过 XML 解析器运行我的数据是否确保它符合上述规范?我相信是这样,因为上面的“更多信息”链接似乎重申了定义的 unicode 字符是 XML 中允许的字符。
但我想我最好问一下,因为我仍然假设成功的 XML 解析意味着文档通过了验证规则。
解决方案
您的方法将拒绝包含序列“]]>”的字符串。我看不出一个简单的方法。但无论如何,这似乎是一种相当严厉的方法:应用正则表达式不是更简单吗?
推荐阅读
- java - 如何在java中交换两个日期
- reactjs - Jhipster 用反应更新表单中的一些字段
- android - 通过 ADB 在 Android 上发送超过 160 个字符的 SMS
- sql-server - 从 SQL Server 以非表格形式返回数据
- eclipse - Eclipse (2021-03 -4.19.0) 节点 100% Mac OS 11.3
- database - 文档字段的数组条件中的 Elasticsearch 查询
- php - codeigniter 创建响应数组对象
- mysql - 在 mysql 中更新/添加 json 数据
- c# - UWP C#如何附加.json文件并在组中识别它们
- javascript - 测试了来自 jsforcats.com 的代码片段。Firefox 的执行速度似乎很慢。为什么?