Frage

Ich arbeite im Moment mit Jdom. Ich kann mir keine Lösung vorstellen, die im Wesentlichen ein einfaches Problem sein sollte.

Ich habe eine gültige XHTML -Zeichenfolge:

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

Wie füge ich das wie folgt in die XML -DOM ein?

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

(Dieser XML geht dann zu einem XSL -Transformator, der dann XHTML für den Browser rendert)

Ich habe die folgenden "Pseudo" -Lösungen ausgedacht, aber ich bin mir nicht sicher, ob sie möglich sind:

Undeple -Entitäten, die keine XML -Entitäten sind, und dann einfügen.
Nur XML leuchtet zurück, dann nicht die gesamte Saite, dann einfügen und dann einfügen.

Taras

War es hilfreich?

Lösung

Ich denke, Sie können verwenden Jtidy Um benannte Entitäten in nummerierte zu verwandeln. Danach ist das XHTML auch gültig xml.

Andere Tipps

Während € gültige XHTML -Entität ist, ist es kein gültiges XML.

Leider weiß ich nichts über JDOM, aber wenn es möglich ist, können Sie versuchen, DTD hinzuzufügen Entitätserklärungen wie <!ENTITY euro "€">. Und vielleicht alle XHTML -Tags in ihren Eigennamenspace (<parentNode xmlns:x="http://www.w3.org/1999/xhtml"><x:b>...</x:b></parentNode>)

Erstellen Sie eine Zeichenfolge, die enthält

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

+

Ihr XHTML -Inhalt in diesem Fall <b>M&amp;A</b> &euro;

+

</html>

und analysieren Sie diese Zeichenfolge, um ein Dokument zu erhalten. Holen Sie sich dann den gesamten Inhalt im Stammelement, das ist Ihr XHTML -Inhalt und platzieren Sie ihn in Ihr ParentNode -Element. Möglicherweise müssen Sie berücksichtigen, dass der Inhalt aus einem anderen Dokument stammt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top