2012-02-02 29 views
1

在JAVA中使用SAX解析器解析XML時,我無法像使用XML那樣獲取數據。 問題是如果節點包含一些unicode字符的文本數據。如何在不修剪兩個Unicode字符之間的空格的情況下從XML節點獲取文本

node.getTextContent()正在將內容分解爲unicode字符並修剪兩個unicode字符之間的空格。

假設節點有數據oro-maxilo-facială și implantologie。 請注意ă și之間的空格。

方法node.getTextContent()返回字符串爲oro-maxilo-facialăși implantologie(無空白)。

下面是我試過的代碼。

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&#x103; &#x219;i implantologie</title> 
    </titles> 
    <number>16</number> 
</record> 
+0

請張貼一些代碼,以便我們可以看到您到目前爲止所嘗試的內容。 – 2012-02-02 08:37:17

+0

我已修改帖子以包含代碼。請看看 – RKrishna 2012-02-02 08:41:55

+0

請認真閱讀一些XML。 – 2012-02-02 08:58:18

回答

0

問題是與digester1.8。使用commons-digester1.8.1.jar而不是commons-digester1.8.jar。這將解決這個空白吞嚥問題。

相關問題