yogui411
Messages postés36Date d'inscriptiondimanche 5 décembre 2004StatutMembreDernière intervention 6 juin 2006
-
6 juin 2006 à 11:19
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 2013
-
6 juin 2006 à 12:32
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.
dgouttegattat
Messages postés129Date d'inscriptionmardi 22 novembre 2005StatutMembreDernière intervention30 décembre 20073 6 juin 2006 à 12:12
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 />
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 6 juin 2006 à 12:32
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