Création d'un noeud Xml à partir de rien

Résolu
Signaler
Messages postés
23
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
4 mars 2006
-
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
-
Bonjours,
je travail sur un document Xml sur lequel j'ai besoin d'ajouter de nouveaux noeuds.
Je voulais faire


XmlNodeLoc.AppendChild(newNode)

mais le problème est que je ne sais pas comment créer un XmlNode en partant de rien. En effet, le constructeur de cet objet est à priori privé et j'ai un platage à la compilation de

XmlNode newNode =
new
XmlNode();

3 réponses

Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
22
doc.AppendChild(doc.CreateXmlDeclaration("1.0", null, null));
XmlElement root = doc.CreateElement("racine");
//Ajout des fils de root
//...
//Fin ajout

doc.AppenDChild(root);

::|The S@ib|::
MVP C#.NET
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
22
docXml.CreateElement() ou doc est ton instance XmlDocument

::|The S@ib|::
MVP C#.NET
Messages postés
23
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
4 mars 2006

Merci,
je suppose que pour ajouter un attribut à ce nouveau noeud je suis obligé de faire appel à la fonction de XmlDocument, il n'est pas possible de faire l'ajout directement depuis le noeud (genre newNode.AppendAttribute ou qqch dans le genre)

newNode = XmlDoc.CreateElement("Node", ParentNode.NamespaceURI);
newAttribute = XmlDoc.CreateAttribute("Attribut", newNode.NamespaceURI);

Bref

J'ai cependant un autre problème : quand je travail sur un document vide, comment je fait pour créer la racine, j'ai essayé

newNode = XmlDoc.CreateElement("Racine")

Mais ca ne marche pas, XmlDoc.ParentNode et XmlDoc.DocumentElement sont null (rq.: c'est quoi la différence entre les deux ?)