Pregunta

Estoy trabajando con Jdom en este momento. No puedo pensar en una solución que sea que sea esencialmente un problema fácil.

Tengo una cadena XHTML válida:

<b>M&amp;A</b> &euro;

¿Cómo inserto esto en el XML DOM de la siguiente manera?

<parentNode>
  <b>M&amp;A</b>
  €
</parentNode>

(Este XML luego se va a un transformador XSL, que luego representa XHTML para el navegador)

Se me ocurren las siguientes soluciones 'pseudo', pero no estoy seguro de si son posibles:

Entidades Unescape que no son entidades XML, luego insertan.
Reinscape solo xml entra, luego html unescape toda la cadena, luego inserte.

Taras

¿Fue útil?

Solución

Supongo que puedes usar Jtidy para transformar las entidades nombradas en las numeradas. Después de eso, el XHTML también es XML válido.

Otros consejos

Mientras que € es válida entidad XHTML, no es válida XML.

Desafortunadamente, no sé nada sobre Jdom, pero si es posible, puede intentar agregar DTD declaraciones de entidad me gusta <!ENTITY euro "€">. Y, tal vez, ponga todas las etiquetas XHTML en su espacio de nombres adecuado (<parentNode xmlns:x="http://www.w3.org/1999/xhtml"><x:b>...</x:b></parentNode>)

Crear una cadena que contenga

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

+

Su contenido XHTML, en este caso <b>M&amp;A</b> &euro;

+

</html>

y luego analice esta cadena para obtener un documento. Luego obtenga todo el contenido dentro del elemento raíz, ese será su contenido XHTML y colóquelo dentro de su elemento ParentNode. Es posible que deba tener en cuenta que el contenido proviene de un documento diferente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top