我们正在使用StAX解析器来读取大型XML文件并剥离一些元素/属性并编写XML文件
源XML文件是有效的XML文件,即所有XML特殊字符(<
,>
,'
,"
,&
)都已转义为相应的XML版本(<
,>
,'
,"
,&
)
当StaX解析器在输出文件中写入这些特殊字符时,它会转义<
,>
,&
个字符,但不会转义'
,"
字符,即在输出文件中,我们可以看到'
,"
个字符,尽管输入文件有其转义版本
在将输出发送到StaX解析器String.replaceAll("'","'")
方法之前,我尝试使用writeAttribute
方法替换
但是当StAX解析器已经转义&lt;,&gt;,&amp;输出显示为&apos;
你能让我知道在StAX解析器API中是否有任何配置/实用性来解决StAX解析器中的这个问题?
或者,或者,使用另一种解决此问题的XML编写器工具的任何其他建议?
答案 0 :(得分:4)
如果单引号出现在由单引号括起的属性值中,则只需要对其进行转义。除此之外没有任何理由逃脱它们。