[c#/ xml] comment faire modification d'un document xml ou xsl
moha_yougo
Messages postés40Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention 1 avril 2006
-
7 mars 2006 à 10:29
t_barbillon
Messages postés341Date d'inscriptionmercredi 8 juin 2005StatutMembreDernière intervention10 février 2009
-
7 mars 2006 à 15:21
pour faire des modification sur un document xml ou xsl apartir d'un controle
est ce que je doit copier ces fichies dans des fichiers text puis faire les traitement
puis les charger a nouveau
comment faire ça?
je ne vopit pas de solution
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 201429 7 mars 2006 à 12:19
La classe XmlDocument du namespace System.xml semble être la meilleure solution pour gérer les documents Xml (La classe XmlTextWriter correspond plutot à de la création de document; mais personnellement, j'utilise toujours XmlDocument).
Pour ce faire:
tu ajoutes dans ton fichier .cs la directive
using System.Xml
Puis tu peux charger un document xml de la façon suivante:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("C:\test.xml");
Ensuite, tu a accès à tout ce que tu veux :
xmlDoc.ChildNodes te renvoie la collection des noeuds fils
Tu peux récupérer un noeud comme cela ou avec XmlNode nodeSelect= xmlDoc.SelectSingleNode("\\root\item");
nodeSelect.ChildNodes te renvoie aussi les noeuds fils du noeud en cours
etc...
Les propriétés InnerXml ou InnerText te permette de modifier les choses et XmlNode.Attributes permet de changer les attributs.
Voila, j'espère que cela t'aideras.
Pour la gestion de xsl, j'ai jamais fait. Juste vérifier la validité d'un document xml par un xsl.
t_barbillon
Messages postés341Date d'inscriptionmercredi 8 juin 2005StatutMembreDernière intervention10 février 20092 7 mars 2006 à 15:21
Salut, pour moi tu as plusieurs façons de faire,
-coder en dure une chaine "<xsl:template match=></xsl:template>", créer un document XML à partir de celle-ci, puis ajouter à ton 1er doc le noeud racine du 2nd. (pas vraiment génial).
-avoir quelque part un fichier de resources duquel tu peux extraire ce noeud pour l'ajouter dans ton fichier courant en faisant un AppendChild
-avoir le fichier pré-écrit en ressource dans lequel tu rempli juste les valeurs des attributs match, et utiliser la 2nde méthode dans le cas où tu aurais besoin d'ajouter un noeud.