Treexml

Soyez le premier à donner votre avis sur cette source.

Vue 21 127 fois - Téléchargée 1 750 fois

Description

Fichier XML -> TreeView (Parser XML)

Source / Exemple :


// je suggere de commencer a lire la deuxieme fonction, GetTreeNodeFromXML

public class TreeXML
{
	private static TreeNode DoElement(XmlNode xn)
	{
		TreeNode tn = new TreeNode(xn.Name);
		// créé l'objet TreeNode de base qui va recevoir les données XML
		// il portera le nom de la balise XML

		// il y a des attributs
		if (xn.Attributes != null && xn.Attributes.Count > 0)
		{
			TreeNode attr_node = tn.Nodes.Add("Attibutes");
			// on creer un sous arbre
			// qui contiendra les attributs
			
			foreach (XmlAttribute attr in xn.Attributes)    // parcours des attributs
				attr_node.Nodes.Add(attr.Name + "=" + attr.Value);
				// ajout des attributs,
				// nom de l'attribut puis sa valeur
		}

		// le sous-element XML n'est pas une balise mais une valeur textuelle
		if (xn.Value != null && xn.Value != "")
			tn.Text = xn.Value;
		else
		{
			// parcours des sous-elements XML
			foreach (XmlNode subxn in xn.ChildNodes)
				tn.Nodes.Add(DoElement(subxn));
				// on ajoute le sous-element ainsi que ses propres
				// sous-element recursivement
		}
		return (tn);
		// une fois la recursion terminée, on renvoie le TreeNode, qui contient ses sous TreeNode
	}

	public static TreeNode GetTreeNodeFromXML(string xml_file)
	{
		XmlDocument doc = new XmlDocument();
		doc.Load(xml_file);
		// charge un fichier xml, cette fonction se charge toute seule de gerer le fichier
		// pas besoin de Close ou autre

		XmlNode root = doc.DocumentElement;
		// root devient le premier element XML
		// (il n'y en a jamais plus d'un en XML, il est toujours unique)

		return (DoElement(root));
		// appel a DoElement
	}
}

Conclusion :


Il n'y a pas de commentaires car bien souvent les commentaires decalent les lignes, on ne sait plus lesquels vont ou, ca complique les chose. Les classes utilisés ici sont vraiment simple et tres bien concu, par consequent je pense que le code parle de lui meme.

En cas de question eventuelles, n'hesitez pas ;)

Message a l'attention des Admins/Modo : Je sais que ce code est d'une banalité a mourrir, mais cependant des gents disent encore avoir du mal avec l'XML en .NET et disent ne pas toujours trouver toutes les infos qu'ils cherchent, j'espere que ce code et les questions/réponses qui suivront pourront leur apporter des lumiere :)

Codes Sources

Ajouter un commentaire Commentaires
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
11 avril 2005 à 21:28
oui mais peut etre pas tutoriaux non plus ?
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
11 avril 2005 à 21:36
Bah je dois admettre que je ne savais pas trop quoi mettre d'autre, et puis c'est plutot que le de code qui aide les debutant a comprendre, et les experimenter a voir la chose d'une approche differente si la leur n'est pas ainsi.

C'est vrai que ce n'est pas vraiment tu tut, mais ce code en soi n'as strictement aucune utilité "pratique".
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 62
12 avril 2005 à 08:38
Les commentaires ne sont pratiquement jamais superflu, pour ne pas dire jamais (surtout si tu fais ce code pour les débutants...)
Je suis certain que quelques mots d'explications pour les novices ne seraient pas de trop.
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
12 avril 2005 à 12:17
j'en conviens mais même si le code peut te paraitre transparent (c'est toi qui l'a écrit ok) commente le un peu pour ceux qui viendront le consulter dans tutoriaux et qui ne comprendront pas :)
non ?
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
12 avril 2005 à 14:13
Les commentaires c'est vital, même sur un code court.
Tu n'as sans doute pas encore vécu cette situation qui se résume à :
Si tu peux pas lire ton code, réécris le !!!
Tu ne comprend pas à quoi sert ton code, élimine-le. Si ça marche pas, réécris tout.
Et là tu maudit le jour où tu as décidé que les commentaires étaient inutiles

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.