Как получить текст из узла XML без обрезки пробелов между двумя символами Юникода - PullRequest
1 голос
/ 02 февраля 2012

При синтаксическом анализе XML с помощью SAX-парсера в JAVA я не могу получить данные, как в XML.Проблема в том, что узел содержит текстовые данные с некоторыми символами Юникода.

node.getTextContent() разбивает содержимое на символы Юникода и обрезает пробел между двумя символами Юникода.

Предположим, еслиузел имеет данные 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>

1 Ответ

0 голосов
/ 06 февраля 2012

Проблема с варочным котлом 1.8. Используйте commons-digester1.8.1.jar вместо commons-digester1.8.jar. Это решит проблему глотания пробелов.

...