xml - xml 中的 Unicode 字符
问题描述
在 XML 文件上运行 xquery 时遇到错误。实际上,XML 中有一些元素与数据一起具有 unicode 字符。
"+30 2222032000",
"+30 6973222259\u001f"
我尝试使用替换和删除功能,但我不确定我的源文件中可以包含哪些 unicode 字符。是否有任何通用方法可以删除所有这些字符
谢谢
解决方案
XML 文档中的每个字符都是 Unicode 字符,如果有非 Unicode 字符,那么您确实会遇到问题。
您的实际问题是文档使用了 XML 解析器无法识别的 Unicode 字符编码“\u001f”。这是完全合法的 XML 内容,只是将被视为以反斜杠开头的 6 个字符的序列,而不是作为控制字符 x1F 的表示(碰巧不是 XML 1.0 允许的字符) .
处理这些字符的一种方法是将“+30 6973222259\u001f”视为 JSON 字符串并使用 XQuery 3.1 函数json-to-xml()
将其转换为 XML(它需要包含引号)。但是,如果有转义序列转换为 XML 不允许的字符,这会给您带来问题,例如\u0000
. 该json-to-xml()
函数具有处理此类情况的各种选项。
推荐阅读
- reactjs - 使用 Promise.all 和 fetch API 返回的数据动态设置状态对象:React+Typescript
- drupal-8 - Codeception - 如何在 Codeception 中从 Drupal 核心运行 phpunit 测试?
- django - 如何显示与特定外键对象相关的对象?
- c++ - 将 std::is_convertible 与 std::type_index 一起使用
- python - 如何获取 execution_date 作为纪元时间?
- python-3.x - 功能视图日志中的谷歌云功能导入错误
- selenium - 即使在 testNG 框架的测试脚本中发生异常,测试用例也显示通过
- javascript - 没有使用 FilePond ReactJs 的上传按钮
- firebase - 在 Firebase 存储中公开文件夹
- opencv - 如何在opencv的神经网络模块(caffe)中使用pytorch迁移学习模块(.pth)生成的模型?