Как получить содержимое элемента (CDATA) при сохранении разрывов строк?

Я попытался получить содержимое элемента, который имеет только раздел CDATA. Внутри CDATA есть несколько строк текста.

Однако, когда я пытаюсь element.getValue().getText() или же .getTextTrim() они все раздеваются, разрывается.

Мне нужно получить строку, которая сохраняет разрывы строк. Что я могу сделать?

1 ответ

Решение

Вот код, который я собрал на основе примера XML-файла:

<root>
   <data><![CDATA[This is text
   with some newlines
   in it, and some other spaces.]]></data>
</root>

и код:

public static void main(String[] args) throws JDOMException, IOException {
    Document doc = new SAXBuilder().build("data/cdata.xml");
    String cdata = doc.getRootElement().getChild("data").getText();
    System.out.println(cdata);
}

который производит вывод:

This is text
   with some newlines
   in it, and some other spaces.

что подразумевает, что это работает хорошо.

Другие вопросы по тегам