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 (
[ Lien ]).
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 :
void ListNodes(XmlNode node)
{
if (node.NodeType == XmlNodeType.Element)
{
Console.WriteLine(node.Name);
foreach (XmlNode childNode in node.ChildNodes)
ListNodes(childNode);
}
}
Appelle cette méthode en lui passant en paramètre le noeud racine de ton document :
ListNodes(xmlDoc.DocumentElement);