【问题标题】:Change illegal character in xml file [duplicate]更改xml文件中的非法字符[重复]
【发布时间】:2018-05-07 11:03:16
【问题描述】:

我有一个 XML 文件,其结构如下:

<tag1>
<tag2>This is<>a<AA>text</tag2>
<ABC>0123-</xyz>-89</ABC>
</tag1>

如何将所有非法的 更改为 结果应该如下:

<tag1>
    <tag2>This is&lt;&gt;a&lt;AA&gt;text</tag2>
    <ABC>0123-&lt;/xyz&gt;-89</ABC>
</tag1>

【问题讨论】:

  • 什么意思?如果您要求在文本编辑器中进行搜索和替换的说明,您需要说出它是哪一个。如果您使用某种编程语言生成 XML,您还需要说明是哪一种(但您可能正在执行字符串连接,而不是使用适当的 XML 库)。

标签: html xml illegal-characters


【解决方案1】:

这不应该在生成 XML 后修复,这是首先生成 xml 的代码中的错误。修复生成无效 XML 的生成器,之后不要修复无效 xml。

对于编码规范,请查看https://www.w3.org/TR/xml/#intern-replacement 上的 XML 规范,但请注意,许多编程语言已经具有用于这些内容的函数或库,例如,要在 PHP 中对字符串进行 XML 编码,请执行 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 等的绑定)

【讨论】:

    猜你喜欢
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    • 2011-03-16
    • 2021-07-24
    • 2020-02-16
    相关资源
    最近更新 更多