У меня есть XML вроде следующего:
<documentation>
This value must be <i>bigger</i> than the other.
</documentation>
Используя JDOM, я могу получить следующие текстовые структуры:
Document d = new SAXBuilder().build( new StringReader( s ) );
System.out.printf( "getText: '%s'%n", d.getRootElement().getText() );
System.out.printf( "getTextNormalize: '%s'%n", d.getRootElement().getTextNormalize() );
System.out.printf( "getTextTrim: '%s'%n", d.getRootElement().getTextTrim() );
System.out.printf( "getValue: '%s'%n", d.getRootElement().getValue() );
, которые дают мне следующие результаты:
getText: '
This value must be than the other.
'
getTextNormalize: 'This value must be than the other.'
getTextTrim: 'This value must be than the other.'
getValue: '
This value must be bigger than the other.
'
Что я действительно хотел, так это получить содержимое элемента в виде строки, а именно "This value must be <i>bigger</i> than the other."
. getValue()
подходит близко, но удаляет тег <i>
. Наверное, я хотел что-то вроде innerHTML
для документов XML ...
Должен ли я просто использовать XMLOutputter для содержимого? Или есть лучшая альтернатива?