- // 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
- }
- }
// 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
}
}