Heim >Backend-Entwicklung >C#.Net-Tutorial >XML-Daten einfach in .NET Framework verarbeiten (4-2)

XML-Daten einfach in .NET Framework verarbeiten (4-2)

黄舟
黄舟Original
2016-12-20 14:13:441552Durchsuche

Abbildung 7 Zustände für XML-Writer

Zustand
Beschreibung

Attribut
Der Autor wechselt in diesen Zustand, wenn ein Attribut geschrieben wird

Geschlossen
Die Close-Methode wurde aufgerufen und der Writer ist nicht mehr für Schreibvorgänge verfügbar

Content
Der Writer wechselt in diesen Zustand, wenn der Inhalt eines Knotens geschrieben wird

Element
Der Autor wechselt in diesen Zustand, wenn ein Elementstart-Tag geschrieben wird.

Prolog
Der Autor schreibt den Prolog eines wohlgeformten XML 1.0-Dokuments.

Start
Der Autor befindet sich in einem Anfangszustand und wartet auf die Ausgabe eines Schreibaufrufs


??Writer speichert den Ausgabetext in einem internen Puffer. Normalerweise wird der Puffer geleert oder geleert und der XML-Text sollte geschrieben werden, bevor der Writer geschlossen wird. Sie können den Puffer jederzeit löschen, indem Sie die Flush-Methode aufrufen, den aktuellen Inhalt in den Stream schreiben (über die BaseStream-Eigenschaft verfügbar gemacht) und dann einen Teil des belegten Speichers freigeben, der kontinuierlich gesteuert werden kann . Beachten Sie, dass, obwohl ein Teil des Dokumentinhalts geschrieben wurde, andere Programme das Dokument nicht verarbeiten können, bevor der Writer geschlossen wird.

??Sie können zwei Methoden zum Schreiben von Attributknoten verwenden. Die erste Methode besteht darin, mit der WriteStartAtribute-Methode einen neuen Attributknoten zu erstellen und den Status des Writers zu aktualisieren. Verwenden Sie dann die WriteString-Methode, um den Eigenschaftswert festzulegen. Verwenden Sie nach dem Schreiben die Methode WriteEndElement, um den Knoten zu beenden. Darüber hinaus können Sie auch die Methode WriteAttributeString verwenden, um einen neuen Attributknoten zu erstellen. Wenn der Status von writer „Element“ lautet, beginnt WriterAttributeString zu arbeiten und erstellt ein separates Attribut. In ähnlicher Weise schreibt die WriteStartElement-Methode das Eröffnungs-Tag (<) des Knotens, und dann können Sie die Eigenschaften und den Textinhalt des Knotens nach Ihren Wünschen festlegen. Die Schluss-Tags von Elementknoten haben alle „/ >“. Wenn Sie ein schließendes Tag schreiben möchten, können Sie es mit der Methode WriteFullEndElement schreiben.

??Sie sollten an Schreibmethoden übergebenen Text vermeiden, der sensible Markup-Zeichen enthält, wie etwa das Kleiner-als-Zeichen (<). Mit der WriteRaw-Methode in den Stream geschriebene Zeichenfolgen werden nicht analysiert. Wir können damit spezielle Zeichenfolgen in XML-Dokumente schreiben. In den folgenden beiden Codezeilen gibt die erste Zeile „<“ und die zweite Zeile „<“ aus:

writer.WriteString('<');

writer. WriteRaw('<');



??Lese- und Schreibstream

??Interessanterweise Reader(Browser) und Writer-Klassen stellen Methoden zum Lesen und Schreiben von Datenströmen bereit, die auf Base64- und BinHex-Codierung basieren. Die Funktionen der Methoden WriteBase64 und WriteBinHex unterscheiden sich geringfügig von denen anderer Schreibmethoden. Sie sind beide Stream-basiert und diese beiden Methoden funktionieren wie ein Byte-Array und nicht wie ein String. Der folgende Code konvertiert zunächst eine Zeichenfolge in ein Byte-Array und schreibt sie dann in einen Base64-codierten Stream. Die statische GetBytes-Methode der Encoding-Klasse schließt die Konvertierungsaufgabe ab:

writer.WriteBase64(

Encoding.Unicode.GetBytes(buf),

0, buf.Length* 2) ;

Das Obige ist der Inhalt der einfachen Verarbeitung von XML-Daten (4-2) in .NET Framework. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www .php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn