Gibt es ein Escapezeichen für ein doppeltes Anführungszeichen in XML? Ich möchte ein Tag schreiben wie:
<parameter name="Quote = " ">
aber wenn ich "setze, dann bedeutet das, dass der String beendet ist. Ich brauche so etwas (c ++):
printf("Quote = \" ");
Gibt es ein Zeichen, das vor dem doppelten Anführungszeichen geschrieben werden muss, um ihm zu entkommen?
"
Rest der Geschichte ...Antworten:
Versuche dies:
quelle
Hier sind die allgemeinen Zeichen, die in XML maskiert werden müssen, beginnend mit doppelten Anführungszeichen:
"
) werden in maskiert"
&
) wird mit maskiert&
'
) werden in maskiert'
<
) wird maskiert<
>
) wird maskiert>
quelle
Andere haben in Bezug auf den Umgang mit der spezifischen Flucht in diesem Fall geantwortet.
Eine umfassendere Antwort ist, nicht zu versuchen, es selbst zu tun. Verwenden Sie eine XML-API - für nahezu jede moderne Programmierplattform gibt es eine Menge.
XML-APIs erledigen solche Dinge automatisch für Sie, was es viel schwieriger macht, Fehler zu machen. Wenn Sie nicht selbst eine XML-API schreiben, sollten Sie sich selten um solche Details kümmern müssen.
quelle
Neue, verbesserte Antwort auf eine alte, häufig gestellte Frage ...
Wann wird ein doppeltes Anführungszeichen in XML vermieden?
Double quote (
"
) kann erscheinen, ohne zu entkommen :In XML-Textinhalten:
In XML-Attributen, die durch einfache Anführungszeichen (
'
) begrenzt sind:Hinweis: Das Umschalten auf einfache Anführungszeichen (
'
) erfordert auch kein Entkommen:Double quote (
"
) muss maskiert werden :In XML-Attributen, die durch doppelte Anführungszeichen begrenzt sind:
Endeffekt
Double quote (
"
) darf wie"
in XML nur in sehr begrenzten Kontexten maskiert werden.quelle
Nein, es gibt kein Escape-Zeichen als solches, stattdessen können Sie das Zeichen verwenden
"
oder sogar<![CDATA["]]>
darstellen"
.quelle
Wenn Sie nur schnell etwas ausprobieren müssen, finden Sie hier eine schnelle und schmutzige Lösung. Verwenden Sie einfache Anführungszeichen für den Attributwert :
quelle
In C ++ können Sie die EscapeXML ATL-API verwenden. Dies ist der richtige Umgang mit Sonderzeichen ...
quelle
Sie können versuchen, einen Backslash gefolgt von einem "u" und dann den Unicode-Wert für das Zeichen zu verwenden, z. B. den Unicode-Wert des doppelten Anführungszeichens
"-> U + 0022
Wenn Sie es als Teil von Text in XML in Android festlegen würden, würde es ungefähr so aussehen:
Dies würde einen Text in der Textansicht ungefähr so erzeugen
"Doppelte Anführungszeichen anzeigen"
Den Unicode der meisten Symbole und Zeichen finden Sie hier www.unicode-table.com/de
quelle