html - 更改 xml 文件中的非法字符
问题描述
我有一个 XML 文件,其结构如下:
<tag1>
<tag2>This is<>a<AA>text</tag2>
<ABC>0123-</xyz>-89</ABC>
</tag1>
如何将所有非法的 <> 更改为 < 和 > 结果应如下所示:
<tag1>
<tag2>This is<>a<AA>text</tag2>
<ABC>0123-</xyz>-89</ABC>
</tag1>
解决方案
这不应该在生成 XML 后修复,这是首先生成 xml 的代码中的错误。修复生成无效 XML 的生成器,之后不要修复无效 xml。
对于编码规范,请查看https://www.w3.org/TR/xml/#intern-replacement上的 XML 规范,但请注意,许多编程语言已经有这些东西的函数或库,例如 XML-在 PHP 中编码一个字符串,做htmlspecialchars ( $str, ENT_QUOTES | ENT_SUBSTITUTE | ENT_DISALLOWED | ENT_XML1, 'UTF-8', true );
对于许多其他语言,还有 libxml2,请查看http://xmlsoft.org/(其中包含 C、C++、C#、Python、Delphi/Pascal、Ruby、Perl、PHP 的绑定)
推荐阅读
- jquery - 在 jQuery 中循环相同的函数集
- reactjs - setState 回调在 React 16 中的渲染完成之前执行
- npm - “npm run build”只能从包含 package.json 文件的文件夹中运行吗?
- c# - 谷歌搜索按钮点击硒
- powershell - Windows 任务计划程序 Powershell 脚本完成并重新启动
- java - 通过左连接表/Querydsl 上的 QBean 映射具有空属性的对象
- linux - 从 bash 脚本打开 iTerm2 并运行命令
- javascript - 使用 geofirestore 反应原生 Firebase 云功能
- python - 更高效的时间增量计算python 3
- motordriver - 计算启动停止命令后步进电机的停止时间