Vérifier les tags

Signaler
Messages postés
36
Date d'inscription
dimanche 5 décembre 2004
Statut
Membre
Dernière intervention
6 juin 2006
-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
Bonjour,

Je voudrais faire une boucle qui lit tous les tags de mon fichier xml.
Je pourrais ainsi vérifier si les tags sont corrects.
Je sais charger un document xml.

XmlDocument

xmlDoc =
new
XmlDocument();
xmlDoc.Load(......);

Quand mon fichier xml est chargé, j'aimerais ensuite pouvoir lister tous les tags.

Merci

2 réponses

Messages postés
129
Date d'inscription
mardi 22 novembre 2005
Statut
Membre
Dernière intervention
30 décembre 2007
3
Bonjour,

Avant toute chose, tu dois savoir qu'il est possible de vérifier automatiquement si ton document XML est correct en le validant contre une DTD ou un schéma XML. Tu pourras trouver plus de renseignements sur le site du W3C (http://www.w3c.org/).

Ensuite, un point de terminologie : quand tu charges un document XML en mémoire avec XmlDocument, tu obtiens une représentation du document conforme au DOM (Document Object Model) ; dans ce modèle, on ne parle pas de tags, mais de noeuds (d'accord, je chipote, mais cela permet de comprendre le nom de certains des membres des classes XmlDocument, XmlNode et consort).

Finalement, une réponse possible à ta question (du moins, une piste) : la méthode suivante explore récursivement un noeud XML et affiche leur nom sur la console :
<hr />void ListNodes(XmlNode node)
{
   if (node.NodeType == XmlNodeType.Element)
   {
      Console.WriteLine(node.Name);
      
foreach (XmlNode childNode
in node.ChildNodes)

         ListNodes(childNode);
   }
}

<hr />Appelle cette méthode en lui passant en paramètre le noeud racine de ton document :
<hr />ListNodes(xmlDoc.DocumentElement);
<hr />
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
Salut,
Oui, il faut absolument utiliser un schéma pour vérifier ton fichier Xml (je pense que tu peux oublier DTD, c'est presque du passé...).
J'ai fait un code source qui explique comment faire pour valider un fichier Xml (il est un peu sous forme de tutoriel.) Tu devrais y trouver ton compte et tu peux le télécharger ici

<hr size= "2" /> VC# forever
=13319