我正在使用dom4j来解析我的xml。假设我有这样的事情:
<?xml version="1.0" encoding="UTF-8"?>
<foo>
<bar>ƒ</bar>
</foo>
当查看“bar”节点的值时,它会返回由“&amp;#402”表示的特殊字符。
有没有办法防止这种情况,只是读入实际的文本位?
答案 0 :(得分:2)
如果bar
节点的值包含&lt;或者&gt;或者&amp;然后它会打破解析器。为了防止这种情况发生,你应该在途中逃避所有数据,然后再次将其取消。
这会将您的文档转换为:
<?xml version="1.0" encoding="UTF-8"?>
<foo>
<bar>&#402;</bar>
</foo>
它很糟糕,但那是你的XML。
答案 1 :(得分:1)
文本的实际位是ƒ
?你需要将&符号转义为&
。
答案 2 :(得分:0)
如果您在读取XML文件时需要这样来保留数字字符引用,如&#nnnn
或字符实体引用,如&something
,你可以:
&
替换为例如{1}}的输入流。 [$AMPERSAND_CHARACTER$]