tengo un XML como el siguiente:Cómo recuperar un elemento mixto de niños como texto (JDOM)
<documentation>
This value must be <i>bigger</i> than the other.
</documentation>
Usando JDOM, puedo conseguir las siguientes estructuras del texto:
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());
que dan me las siguientes salidas:
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.
'
lo que realmente quería era conseguir que el contenido del elemento en forma de cadena, es decir, "This value must be <i>bigger</i> than the other."
. getValue()
se acerca, pero elimina la etiqueta <i>
. Supongo que quería algo como innerHTML
para documentos XML ...
¿Debo simplemente usar un XMLOutputter en los contenidos? ¿O hay una mejor alternativa?
¿Alguna vez encontró una buena respuesta a esta pregunta? –
Mire la solución de Prashant Bhate en esta página, ya que creo que es la respuesta que está buscando: http://stackoverflow.com/questions/7910474/how-to-get-node-contents-from-jdom –