我正在使用DocumentBuilder来解析XML文件.但是,项目规范要求在文本节点内使用& quot;等字符串.和& lt;从字面上返回,而不是解码为字符(“和<”). 之前的类似问题Read escaped quote as escaped quote from xml收到了一个似乎特定于Apache的答案,而另一个答案似乎根本就没有做到它所说的那样.无论如何,我都喜欢被证明是错的,但是:)
供参考,这里有一些代码:
file = new File(fileName);
DocBderFac = DocumentBuilderFactory.newInstance();
DocBder = DocBderFac.newDocumentBuilder();
doc = DocBder.parse(file);
NodeList textElmntLst = doc.getElementsByTagName(text);
Element textElmnt = (Element) textElmntLst.item(0);
NodeList txts = textElmnt.getChildNodes();
String txt = ((Node) txts.item(0)).getNodeValue();
System.out.println(txt);
我想println()生成类似的东西
"3>2"
代替
"3>2"
这是目前发生的事情.
谢谢!
解决方法:
您可以将它们重新转换为xml编码形式
StringEscapeUtils.escapeXml(str);