Maison >développement back-end >Tutoriel XML/RSS >Un moyen simple d'écrire du XML dans .NET

Un moyen simple d'écrire du XML dans .NET

黄舟
黄舟original
2017-03-01 16:59:441389parcourir

xml est une technologie populaire. L’une des principales raisons pour lesquelles il suscite l’intérêt des gens est qu’il est très simple et que les gens peuvent facilement le comprendre et l’utiliser. Chaque programmeur peut facilement lire un fichier XML et comprendre le contenu qu'il contient.

.NET contient de nombreuses classes prenant en charge XML. Ces classes permettent aux programmeurs d'utiliser la programmation XML aussi facilement que de comprendre les fichiers XML. Dans cet article, je vais donner un exemple d'utilisation d'une telle classe, cette classe est la classe XmlTextWriter.

La classe XmlTextWriter vous permet d'écrire du XML dans un fichier. Cette classe contient de nombreuses méthodes et propriétés qui facilitent le traitement du XML. Pour utiliser cette classe, vous devez d'abord créer un nouvel objet XmlTextWriter, puis ajouter des fragments XML à cet objet. Cette classe contient de nombreuses méthodes permettant d'ajouter différents types d'éléments XML aux fichiers XML. Le tableau suivant donne les noms et les descriptions de ces méthodes :

Méthode
Description

WriteStartDocument
Write. une déclaration XML avec la version "1.0"

WriteEndDocument
Ferme tout élément ou attribut ouvert

Fermer
Ferme le flux

WriteDocType
Écrit un DOCTYPE déclaration avec le nom spécifié et les attributs facultatifs

WriteStartElement
Écrit la balise de début spécifiée

WriteEndElement
Ferme un élément

WriteFullEndElement
Ferme un élément et écrit toujours la balise de fin complète

WriteElementString
Écrit un élément contenant une valeur de chaîne

WriteStartAttribute
Attribut d'écriture Le contenu de départ de

WriteEndAttribute
Ferme l'appel WriteStartAttribute précédent

WriteRaw
Écrit manuellement la balise d'origine

WriteString
Écrit une chaîne

WriteAttributeString
Affiche l'attribut avec la valeur spécifiée

WriteCData
Écrit le bloc c5f72ca7ba871dfc011af2443240fe97 contenant le texte spécifié

WriteComment
Écrit un commentaire contenant le texte spécifiée360eeb88159f700c15c611ff8bbfa3c

WriteWhiteSpace
Écrivez l'espace blanc donné

WritePRocessingInstruction
Écrivez les instructions de traitement avec des espaces entre le nom et le texte, comme indiqué ci-dessous : 6f57f36133d5a50e4113dca686520f4e

Si vous êtes très familier avec XML, vous serez en mesure de bien comprendre les méthodes ci-dessus. Ci-dessous, nous donnerons un exemple, dans cet exemple, nous allons d'abord créer un document, ajouter quelques éléments, puis fermer le document. Après avoir ajouté un élément, vous pouvez également ajouter des sous-éléments, des attributs et d'autres contenus. Le code suivant en est un exemple, qui crée un fichier XML nommé titre.

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();  
  }
}

Si vous compilez et exécutez le code ci-dessus, vous créerez ce fichier XML avec le contenu suivant :

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

Le code ci-dessus crée un nom L'objet XmlTextWriter pour l'écrivain. Lorsque cet objet est créé, il est associé à un fichier nommé titles.xml. Ensuite, le programme crée une propriété racine appelée items et la méthode WriteStartElement crée la balise de début pour cette propriété. Ensuite, le programme appelle la méthode WriteElementString pour créer trois éléments enfants. Vous pouvez également voir dans le code ci-dessus que cette méthode utilise le premier paramètre (titre dans le programme ci-dessus) comme étiquette de l'élément ; elle utilise le deuxième paramètre comme valeur de l'élément ; Après avoir ajouté tous les éléments, vous devez fermer l'élément racine. À ce stade, vous pouvez appeler la méthode WriteEndElement pour fermer l'élément le plus récemment ouvert ; dans ce cas, l'élément le plus récemment ouvert est l'élément racine. Lorsque toutes les données ont été écrites et que l'élément racine a été fermé, vous pouvez transmettre les informations à votre XmlTextWriter. Cela signifie que vous pouvez appeler la méthode Close pour la fermer à ce moment-là.

Le code ci-dessus est relativement simple. Regardons un exemple qui utilise plus de méthodes dans la classe XmlTextWriter et possède des fonctions plus complètes.

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();
  }
}

Après avoir compilé et exécuté le code ci-dessus, vous obtiendrez le fichier myMedia.xml. Le contenu du fichier est : 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>

Le. les commentaires dans le code ci-dessus illustrent cela. Comment la fonction du programme est implémentée. Une chose à retenir est que lorsque vous appelez une méthode pour démarrer une opération, vous devez appeler une méthode à l’endroit approprié de votre programme pour terminer l’opération. Par exemple, si vous appelez StartElement, vous devez appeler EndElement pour fermer l'élément bien sûr, vous pouvez également ajouter un élément enfant entre ces deux appels ; Chaque fois que vous appelez la méthode EndElement, elle ferme toujours l'élément le plus récemment ouvert à l'aide de la méthode StartElement (c'est très similaire au fonctionnement d'une pile).

Utiliser XmlTextWriter est très simple, mais je vous recommande quand même d'essayer ces codes et méthodes vous-même. Une fois que vous l'aurez essayé, vous constaterez que le code peut être facilement intégré à votre programme. N'oubliez pas non plus que XmlTextWriter n'est qu'une des nombreuses classes XML fournies par .NET. Comme XmlTextWriter, d'autres classes XML sont également très simples à utiliser

Ce qui précède est le contenu d'une méthode simple d'écriture de XML dans .NET. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn