【发布时间】:2022-11-03 18:46:42
【问题描述】:
<tac id="10" name="KD#36">
我有一个以 xml 格式保存的程序(使用 Java)。但保存这一行后,xml 无法再加载(SAX Parser)。 我是否需要将 xml 标头更改为 UTF-8 以外的其他内容,如果需要,更改为什么?
【问题讨论】:
标签: xml utf-8 character-encoding
<tac id="10" name="KD#36">
我有一个以 xml 格式保存的程序(使用 Java)。但保存这一行后,xml 无法再加载(SAX Parser)。 我是否需要将 xml 标头更改为 UTF-8 以外的其他内容,如果需要,更改为什么?
【问题讨论】:
标签: xml utf-8 character-encoding
好吧,我想通了。
它的“KD”加上 ASCII 控制字符 VTAB 加上“#36”。
显然,Java 无法将该字符正确写入 xml,因此我只是在写入 xml 之前使用正则表达式将其替换为其他内容。
【讨论】:
数字字符引用&#11;是illegal in XML 1.0,但它是allowed in XML 1.1。 Java 的 SAX 解析器应该能够解析 XML 1.1,但这需要文档顶部的 XML 声明指定版本 1.1:
<?xml version="1.1"?>
【讨论】: