Java 如何在不修剪两个unicode字符之间的空白的情况下从XML节点获取文本
在用JAVA中的SAX解析器解析XML时,我无法获得XML中的数据。 问题在于节点是否包含带有某些unicode字符的文本数据 node.getTextContent正在以unicode字符分割内容,并在两个unicode字符之间修剪空白 假设,如果节点具有数据oro maxilo FACE&x103&x219;我恳求。 请注意&x103&x219;一, 方法node.getTextContent将字符串返回为oro maxilo FACE&x103&x219;我同意没有空格 下面是我试过的代码Java 如何在不修剪两个unicode字符之间的空白的情况下从XML节点获取文本,java,unicode,saxparser,Java,Unicode,Saxparser,在用JAVA中的SAX解析器解析XML时,我无法获得XML中的数据。 问题在于节点是否包含带有某些unicode字符的文本数据 node.getTextContent正在以unicode字符分割内容,并在两个unicode字符之间修剪空白 假设,如果节点具有数据oro maxilo FACE&x103&x219;我恳求。 请注意&x103&x219;一, 方法node.getTextContent将字符串返回为oro maxilo FACE&x103&x219;我同意没有空格 下面是我试过的代码
private String getNodeContent(Element nodeToSerialize) {
StringBuffer sb = new StringBuffer();
if (nodeToSerialize.hasChildNodes()) {
NodeList nodeList = nodeToSerialize.getChildNodes();
for (int x = 0; x < nodeList.getLength(); x++) {
Node node = nodeList.item(x);
sb.append(node.getTextContent());
}
}
return sb.toString();
}
XML内容是
<record>
<isbn>1234-5689</isbn>
<titles>
<title>Revista de chirurgie oro-maxilo-facială și implantologie</title>
</titles>
<number>16</number>
</record>
问题在于digester1.8。使用commons-digester1.8.1.jar代替commons-digester1.8.jar。这将解决这个吞没空白的问题。请发布一些代码,这样我们就可以看到您迄今为止尝试的内容。我已经修改了该帖子以包含代码。请看一看,对不起。发布的XML内容似乎其他人也有这个问题:我正在使用Apache digester进行解析。Digester在每个unicode字符处将节点数据拆分为四个字符串。稍后,修剪每个字符串并附加到前一个字符串并返回。在我们的例子中,标题分为四个字符串1-Revista de chirurgie oro maxilo facial 2-&x103;3-&x219;4-我是植入式的。修剪3个字符串时,空格丢失。有没有办法防止这种情况发生,并将其视为一个字符串。