Java:解析XML时忽略转义

Java:解析XML时忽略转义,java,xml,escaping,Java,Xml,Escaping,我正在使用DocumentBuilder解析XML文件。但是,该项目的规范要求在文本节点中,像“和这样的字符串按字面形式返回,而不是解码为字符(”和一种方法可能是尝试并使用该方法。它可能会返回一个深层结构,因此可能需要进行克隆,以便只获得所需的节点或文本,而不需要任何子节点。您可以通过 StringEscapeUtils.escapeXml(str); (,)这两个答案都很好,但对于这个非常小规模的应用程序来说,这两个答案都有点太重了。我最终完全放弃了所有&s(我这样做是为了&s,这些都不是

我正在使用DocumentBuilder解析XML文件。但是,该项目的规范要求在文本节点中,像
这样的字符串按字面形式返回,而不是解码为字符(
一种方法可能是尝试并使用该方法。它可能会返回一个深层结构,因此可能需要进行克隆,以便只获得所需的节点或文本,而不需要任何子节点。

您可以通过

 StringEscapeUtils.escapeXml(str);

(,)

这两个答案都很好,但对于这个非常小规模的应用程序来说,这两个答案都有点太重了。我最终完全放弃了所有&s(我这样做是为了&s,这些都不是后来逃逸的一部分)。这很难看,但它仍然有效

编辑:我知道这有各种各样的问题,而且这个要求很愚蠢。这是一个学校项目,重要的是它在一个案例中起作用,而这个要求不是我的错:)


我正在使用DocumentBuilder解析XML文件。但是,该项目的规范要求在文本节点中,像
这样的字符串按字面形式返回,而不是解码为字符(“你能在这里澄清一下你想要什么吗,你想要打印转义版本,或者你想要它取决于它在XML中的表示方式吗?Yishai:这两者都会有帮助,因为我认为在文件中可能从来没有文字引号,>s等。但是,我不能确定,如果有,我会想保留它们。不带引号的c不是吗像>这样的字符在XML中是非法的?永远不会有文字>@DJClayworth:像>这样的不带引号的字符在CDATA区域中是合法的。它会在某一点上停止工作,你会想它是从哪里来的;)
"3>2"
"3>2"
 StringEscapeUtils.escapeXml(str);