Heim  >  Artikel  >  Backend-Entwicklung  >  Eine einfache Möglichkeit, XML in .NET zu schreiben

Eine einfache Möglichkeit, XML in .NET zu schreiben

黄舟
黄舟Original
2017-03-01 16:59:441323Durchsuche

XML ist eine beliebte Technologie. Einer der Hauptgründe, warum es das Interesse der Menschen weckt, ist, dass es sehr einfach ist und die Menschen es leicht verstehen und verwenden können. Jeder Programmierer kann eine XML-Datei problemlos lesen und den darin enthaltenen Inhalt verstehen.

.NET enthält viele Klassen, die XML unterstützen. Diese Klassen machen Programmierern die Verwendung der XML-Programmierung so einfach wie das Verständnis von XML-Dateien. In diesem Artikel werde ich ein Beispiel für die Verwendung einer solchen Klasse geben. Diese Klasse ist die XmlTextWriter-Klasse.

Mit der XmlTextWriter-Klasse können Sie XML in eine Datei schreiben. Diese Klasse enthält viele Methoden und Eigenschaften, die Ihnen die Verarbeitung von XML erleichtern. Um diese Klasse verwenden zu können, müssen Sie zunächst ein neues XmlTextWriter-Objekt erstellen. Anschließend können Sie diesem Objekt XML-Fragmente hinzufügen. Diese Klasse enthält viele Methoden zum Hinzufügen verschiedener Arten von XML-Elementen zu XML-Dateien. Die folgende Tabelle enthält die Namen und Beschreibungen dieser Methoden:

Methode
Beschreibung

WriteStartDocument
Schreiben eine XML-Deklaration mit Version „1.0“

WriteEndDocument
Alle offenen Elemente oder Attribute schließen

Close
Den Stream schließen

WriteDocType
Schreibt einen DOCTYPE Deklaration mit dem angegebenen Namen und optionalen Attributen

WriteStartElement
Schreibt das angegebene Start-Tag

WriteEndElement
Schließt ein Element

WriteFullEndElement
Schließt ein Element und schreibt immer das komplette End-Tag

WriteElementString
schreibt ein Element aus, das einen String-Wert enthält

WriteStartAttribute
Attribut schreiben Der Anfangsinhalt von

WriteEndAttribute
Schließen Sie den vorherigen WriteStartAttribute-Aufruf.

WriteRaw
Schreiben Sie das ursprüngliche Tag manuell.

WriteString
Schreiben Sie eine Zeichenfolge.

WriteAttributeString
Gibt das Attribut mit dem angegebenen Wert aus

WriteCData
Schreibt den c5f72ca7ba871dfc011af2443240fe97-Block mit dem angegebenen Text

WriteComment
Schreibt einen Kommentar mit dem angegebenen Text8f0e1a3c54056efb6030e652a6462caf

WriteWhiteSpace
Schreiben Sie den angegebenen Leerraum

WritePRocessingInstruction
Schreiben Sie Verarbeitungsanweisungen mit Leerzeichen zwischen dem Namen und dem Text, wie unten gezeigt: 6f57f36133d5a50e4113dca686520f4e

Wenn Sie mit XML sehr vertraut sind, werden Sie die oben genannten Methoden gut verstehen können. Im Folgenden geben wir ein Beispiel. In diesem Beispiel erstellen wir zunächst ein Dokument, fügen einige Elemente hinzu und schließen dann das Dokument. Nach dem Hinzufügen eines Elements können Sie auch Unterelemente, Attribute und andere Inhalte hinzufügen. Der folgende Code ist ein Beispiel hierfür, der eine XML-Datei mit dem Namen „title“ erstellt.

using System;
using System.IO;
using System.Xml;
public class Sample
{
  public static void Main()
  {
     XmlTextWriter writer = new XmlTextWriter("titles.xml", null);
     //写入根元素
     writer.WriteStartElement("items");
     //加入子元素
     writer.WriteElementString("title", "Unreal Tournament 2003");
     writer.WriteElementString("title", "C&C: Renegade");
     writer.WriteElementString("title", "Dr. Seuss's ABC");
     //关闭根元素,并书写结束标签
     writer.WriteEndElement();
     //将XML写入文件并且关闭XmlTextWriter
     writer.Close();  
  }
}

Wenn Sie den obigen Code kompilieren und ausführen, erstellen Sie diese XML-Datei mit dem folgenden Inhalt:

<items>
    <title>Unreal Tournament 2003</title>
    <title>C&amp;C: Renegade</title>
    <title>Dr. Seuss&#39;s ABC</title>
</items>

Der obige Code erstellt einen Namen Das XmlTextWriter-Objekt für den Autor. Wenn dieses Objekt erstellt wird, wird es einer Datei namens titles.xml zugeordnet. Als Nächstes erstellt das Programm eine Stammeigenschaft namens „items“ und die Methode „WriteStartElement“ erstellt das Start-Tag für diese Eigenschaft. Als nächstes ruft das Programm die Methode WriteElementString auf, um drei untergeordnete Elemente zu erstellen. Sie können dem obigen Code auch entnehmen, dass diese Methode den ersten Parameter (Titel im obigen Programm) als Bezeichnung des Elements verwendet; den zweiten Parameter verwendet sie als Wert des Elements. Nachdem Sie alle Elemente hinzugefügt haben, müssen Sie das Stammelement schließen. Zu diesem Zeitpunkt können Sie die Methode WriteEndElement aufrufen, um das zuletzt geöffnete Element zu schließen. In diesem Fall ist das zuletzt geöffnete Element das Stammelement. Wenn alle Daten geschrieben und das Stammelement geschlossen wurden, können Sie die Informationen an Ihren XmlTextWriter übergeben. Dies bedeutet, dass Sie zu diesem Zeitpunkt die Close-Methode aufrufen können, um es zu schließen.

Der obige Code ist relativ einfach. Schauen wir uns ein Beispiel an, das mehr Methoden in der XmlTextWriter-Klasse verwendet und über umfassendere Funktionen verfügt.

using System;
using System.IO;
using System.Xml;
public class Sample
{
  public static void Main()
  {
     XmlTextWriter writer = new XmlTextWriter("myMedia.xml", null);
     //使用自动缩进便于阅读
     writer.Formatting = Formatting.Indented;
     //书写根元素
     writer.WriteStartElement("items");
     //开始一个元素
     writer.WriteStartElement("item");
     //向先前创建的元素中添加一个属性
     writer.WriteAttributeString("rating", "R");
     //添加子元素
     writer.WriteElementString("title", "The Matrix");
     writer.WriteElementString("format", "DVD");
     //关闭item元素
     writer.WriteEndElement();  // 关闭元素
     //在节点间添加一些空格
     writer.WriteWhitespace("\n");
     //使用原始字符串书写第二个元素
     writer.WriteRaw("<item>" + 
                     "<title>BloodWake</title>" +
                     "<format>XBox</format>" + 
                     "</item>");
     //使用格式化的字符串书写第三个元素
     writer.WriteRaw("\n  <item>\n" +
                     "    <title>Unreal Tournament 2003</title>\n" +
                     "    <format>CD</format>\n" + 
                     "  </item>\n");
     // 关闭根元素
     writer.WriteFullEndElement();
     //将XML写入文件并关闭writer
     writer.Close();
  }
}

Nachdem Sie den obigen Code kompiliert und ausgeführt haben, erhalten Sie die Datei myMedia.xml. Der Inhalt der Datei lautet: 30c1fd7029f16c005a4b9562cd8dae34

<item rating="R">
    <title>The Matrix</title>
    <format>DVD</format>
  </item>
<item>
    <title>BloodWake</title>
    <format>XBox</format>
</item>
  <item>
    <title>Unreal Tournament 2003</title>
    <format>CD</format>
  </item>
</items>

Die Kommentare im obigen Code veranschaulichen die Art und Weise, wie die Funktion des Programms implementiert wird. Beachten Sie Folgendes: Wenn Sie eine Methode aufrufen, um eine Operation zu starten, müssen Sie an der entsprechenden Stelle in Ihrem Programm eine Methode aufrufen, um die Operation zu beenden. Wenn Sie beispielsweise StartElement aufrufen, müssen Sie EndElement aufrufen, um das Element zu schließen. Natürlich können Sie zwischen diesen beiden Aufrufen auch ein untergeordnetes Element hinzufügen. Wenn Sie die EndElement-Methode aufrufen, wird immer das Element geschlossen, das zuletzt mit der StartElement-Methode geöffnet wurde (dies ist der Funktionsweise eines Stapels sehr ähnlich).

Die Verwendung von XmlTextWriter ist sehr einfach, ich empfehle Ihnen jedoch dennoch, diese Codes und Methoden selbst auszuprobieren. Wenn Sie es einmal ausprobiert haben, werden Sie feststellen, dass sich der Code problemlos in Ihr Programm integrieren lässt. Sie sollten auch bedenken, dass XmlTextWriter nur eine von vielen XML-Klassen ist, die von .NET bereitgestellt werden. Wie XmlTextWriter sind auch andere XML-Klassen sehr einfach zu verwenden

Das Obige ist der Inhalt einer einfachen Methode zum Schreiben von XML in .NET. 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