我正在使用 dom4j 来解析我的 xml。假设我有这样的事情:
<?xml version="1.0" encoding="UTF-8"?>
<foo>
<bar>ƒ</bar>
</foo>
查看“bar”节点的值时,它会返回由“& #402;”表示的特殊字符
有没有办法防止这种情况,只需阅读实际的文本位?
如果bar
节点的值本身包含 < 或 > 或 & ,那么它将破坏解析器。为了防止这种情况发生,您应该在输入时转义所有数据,然后在输出时再次取消转义。
这会将您的文档变成:
<?xml version="1.0" encoding="UTF-8"?>
<foo>
<bar>&#402;</bar>
</foo>
它确实很糟糕,但这对你来说是 XML。
实际的文字是ƒ
?你需要像&
那时一样逃避&符号。
如果您需要在读写 XML 文件时保留数字字符引用&#nnnn
或字符实体引用,您可以:&something
&
为例如[$AMPERSAND_CHARACTER$]
请参阅代码示例。