Ich habe XML-Text, den ich auf einer HTML-Seite rendern möchte. Dieser Text enthält ein kaufmännisches Und, das ich in seiner Entitätsdarstellung rendern möchte : &
.
Wie entkomme ich diesem kaufmännischen Und im Quell-XML? Ich habe es versucht &
, aber dies wird als das tatsächliche kaufmännische Und-Zeichen ( &
) dekodiert , das in HTML ungültig ist .
Ich möchte es also so umgehen, dass es wie &
auf der Webseite gerendert wird , die die XML-Ausgabe verwendet.
Antworten:
Wenn Ihr XML enthält
&
, führt dies zum Text&
.Wenn Sie das in HTML verwenden, wird das als gerendert
&
.quelle
Gemäß § 2.4 der XML 1.0 - Spezifikation , sollten Sie in der Lage sein zu verwenden
&
.Sind Sie sicher, dass es kein anderes Problem ist? XML definiert dies explizit als den Weg, um kaufmännisches Und zu umgehen.
quelle
Das
&
Zeichen selbst ist ein Escape-Zeichen in XML. Die Lösung besteht darin, es und ein Unicode-Dezimaläquivalent zu verketten, um&
sicherzustellen, dass keine XML-Analysefehler vorliegen. Das heißt, ersetzen Sie das Zeichen&
durch&
.quelle
&
Verwenden
CDATA
tags:quelle
&
Sollte dies einwandfrei funktionieren, verfügt Wikipedia über eine Liste vordefinierter Entitäten in XML .quelle
In meinem Fall musste ich es ändern
%26
.Ich musste
&
in einer URL entkommen . Also&
hat es für mich nicht geklappt. Die Urlencode- Funktion ändert sich&
zu%26
. Auf diese Weise haben sich weder XML noch der Browser-URL-Mechanismus über die URL beschwert.quelle
Ich habe & amp ausprobiert, aber es hat nicht funktioniert. Basierend auf der Antwort von Wim ten Brink habe ich & amp; amp ausprobiert und es hat funktioniert.
Einer meiner Entwicklerkollegen schlug mir vor, & # x26; und das funktionierte unabhängig davon, wie oft es gerendert werden kann.
quelle
&
ist die Möglichkeit, ein kaufmännisches Und in den meisten Abschnitten eines XML-Dokuments darzustellen.Wenn Sie möchten, dass XML in HTML angezeigt wird, müssen Sie zuerst ordnungsgemäß codiertes XML erstellen (was das Ändern
&
in bedeutet&
) und dann verwenden, um ordnungsgemäß codiertes HTML zu erstellen (was das erneute Ändern&
in beinhaltet&
). Das ergibt:Eine ausführlichere Erläuterung der XML-Codierung finden Sie unter:
Welche Zeichen muss ich in XML-Dokumenten maskieren?
quelle
<xsl:text disable-output-escaping="yes">& </xsl:text>
wird den Trick machen.quelle
Wie wäre es mit dem Unicode
\u0026
? Funktioniert für mich in meinen Android XML-Dateien. Wenn Probleme auftreten, lassen Sie es mich wissen.quelle
\u
Escapezeichen haben in XML im Allgemeinen keine besondere Bedeutung. -1.Überlegen Sie, ob Ihr XML wie folgt aussieht.
Sie können das nicht
<>
direkt verwenden, da es einen Fehler auslöst. In diesem Fall können Sie dies<>
ersetzen.Klicken Sie hier , um alle Codes anzuzeigen.
quelle