2010-02-01 5 views
5

Die '&' im Text wird maskiert und wird beim Erstellen der XML-Datei mit XmlTextWriter in & konvertiert, aber ich möchte nicht, dass die Konvertierung stattfindet, um es zu verhindern?Wie verhindert man die Konvertierung von & zu & mit XmlTextWriter?

Gibt es einen anderen Weg als mit WriteRaw func von xmltexwriter?

+3

Was ist falsch mit der Verwendung von 'WriteRaw' und warum wollen Sie es nicht entkommen lassen? –

+0

Nun, ich möchte nur Rohdaten extrahieren und es als xml.Probably nicht verwenden lesen Sie die XML wie es würde einen Fehler werfen. – kurozakura

Antwort

9

Wenn Sie ein Unescaped-Und-Zeichen in XML einfügen, ist es kein gültiges XML mehr.

Ihre zwei Möglichkeiten entweder entkommen sie (die Bibliothek tut):

<tag>One &amp; another</tag> 

Oder es in CDATA wickeln:

<tag><![CDATA[One & another]]></tag> 

, die durch getan werden kann:

xmlWriter.WriteCData("One & another"); 
+0

Ich stimme zu. Ein "&" -Zeichen ohne Zeichen in XML ist ein Syntaxfehler und muss gemäß der Spezifikation unter http://www.w3.org/TR/xml/ ** von einem XML-Parser abgelehnt werden. – lavinio

+0

Sie haben Recht, ich will es nur in einem XML-Format, das ist alles, ich werde es nicht lesen – kurozakura

0

Warum wollen Sie das nicht? Es sieht für mich so aus, als würde die Bibliothek die korrekten Zeichen, die bei XML erforderlich sind, umgehen.

+2

einige Leute brauchen es einfach. Beantworten Sie eine Frage mit einer anderen Frage. Sagen Sie ihm wie, oder sagen Sie gar nichts. – Chris

+2

Lol @Chris Manchmal lernen Sie viel mehr, wenn Sie Frage wird mit einer Frage beantwortet, es sei denn, Sie sind faul ... –

+4

@Rob Vielleicht, aber eine Frage ist immer noch nicht eine * Antwort *, und ist nur im Weg der tatsächlichen Antworten (vor allem, weil aus irgendeinem Grund sein wird -voted) - das hätte ein Kommentar sein sollen. – Justin

0

Ich bin mir nicht sicher, ob es funktioniert, aber Sie sollten vielleicht in den XmlWriterSettings-Eigenschaften nachsehen, die über xmltextwriter.Sett verfügbar sind besonders die CheckCharacters-Eigenschaft.

Auf der anderen Seite, wie Brian Agnew erwähnt, codiert, die nicht & zu & könnte der falsche Weg zu gehen, wie es Ihre XML ungültig wird (es sei denn Sie es bereits in diesem Fall zu & codiert einfach entschlüsseln wollen könnte Bevor es der xmltextwriter-Klasse übergeben wird

Verwandte Themen