2009-12-04 3 views
0

Я пытаюсь получить cdata текст с узла, используя dom4j java. Моя проблема здесь в том, что все разрывы строк удалены. По сути, мне нужно прочитать содержимое CDATA, как если бы это был тег <pre> в HTML.dom4j cdata (сохранить пробелы)

Есть ли у вас идеи? У меня очень мало времени, чтобы сделать это, к сожалению, поэтому любая помощь будет оценена по достоинству.

Спасибо!

ответ

3

Если вам нужен текст XML статически определяется как в CDATA блок, он должен быть помечен таким образом, в XML, как например:

<tag><![CDATA[This is 
three 
lines]]></tag> 

Если содержимое не находится внутри секции CDATA, то есть:

<tag>This is 
three 
lines</tag> 

нормальная обработка XML будет происходить, что означает, что пробелы нормализованы.

0

Yup, содержимое было в порядке. Я понял ошибку, это была проблема с данными.

dom4j автоматически НЕ удаляет пробелы в разделах cdata. Я читал содержимое файла из буферизованного считывателя и использовал readLine и не повторно добавлял разрывы строк, в результате чего весь XML-документ был 1-лайнером, в результате чего раздел cdata также был одной строкой.

Извините за не отвечая раньше, я понял это пару дней назад ...

Спасибо!

Смежные вопросы