C# Lire et analyser un fichier XML
En C#, l’espace de noms System.Xml
est utilisé pour traiter les fichiers XML
. Il possède différentes classes et méthodes pour traiter les fichiers XML. Nous pouvons lire, analyser et écrire un fichier XML en utilisant cet espace de noms.
Dans cet article, nous allons discuter des différentes méthodes qui sont utilisées pour lire et analyser un fichier XML
.
Programme C# pour lire et analyser un fichier XML
en utilisant la classe XmlReader
La classe XmlReader en C# offre un moyen efficace d’accéder aux données XML
. La méthode [XmlReader.Read()
lit le premier noeud du fichier XML
et lit ensuite le fichier entier en utilisant une boucle while
.
La syntaxe correcte pour utiliser cette méthode est la suivante:
XmlReader VariableName = XmlReader.Create(@"filepath");
while (reader.Read()) {
// Action to perform repeatidly
}
Le fichier XML
que nous avons lu et analysé dans notre programme est le suivant. Copiez et collez ce code dans un nouveau fichier texte et enregistrez-le sous le nom .xml
pour utiliser ce fichier pour l’exécution du programme donné ci-dessous.
<?xml version="1.0" encoding="utf-8"?>
<Students>
<Student>
</Student>
<Student>
<Name>Olivia</Name>
<Grade>A</Grade>
</Student>
<Student>
<Name>Laura</Name>
<Grade>A+</Grade>
</Student>
<Student>
<Name>Ben</Name>
<Grade>A-</Grade>
</Student>
<Student>
<Name>Henry</Name>
<Grade>B</Grade>
</Student>
<Student>
<Name>Monica</Name>
<Grade>B</Grade>
</Student>
</Students>
Exemple de code:
using System;
using System.Xml;
namespace XMLReadAndParse {
class XMLReadandParse {
static void Main(string[] args) {
// Start with XmlReader object
// here, we try to setup Stream between the XML file nad xmlReader
using (XmlReader reader = XmlReader.Create(@"d:\Example.xml")) {
while (reader.Read()) {
if (reader.IsStartElement()) {
// return only when you have START tag
switch (reader.Name.ToString()) {
case "Name":
Console.WriteLine("The Name of the Student is " + reader.ReadString());
break;
case "Grade":
Console.WriteLine("The Grade of the Student is " + reader.ReadString());
break;
}
}
Console.WriteLine("");
}
}
Console.ReadKey();
}
}
}
Ici, nous avons créé un objet de XmlReader
et ensuite créé un flux de lecture du fichier XML
donné en utilisant la méthode Create()
.
Ensuite, nous avons utilisé la méthode XmlReader.Read()
pour lire le fichier XML
. Cette méthode retourne une valeur bool
qui indique si le flux créé contient ou non les instructions XML.
Ensuite, nous avons vérifié s’il y a un élément de départ en utilisant la méthode XmlReader.IsStartElement()
. Comme nous avons deux champs d’éléments dans nos données XML
, nous avons utilisé l’instruction switch
pour lire les données des deux champs en utilisant la méthode ReadString()
.
Production:
The Name of the Student is Olivia
The Grade of the Student is A
The Name of the Student is Laura
The Grade of the Student is A +
The Name of the Student is Ben
The Grade of the Student is A -
The Name of the Student is Henry
The Grade of the Student is B
The Name of the Student is Monica
The Grade of the Student is B