GG1983
Messages postés2Date d'inscriptiondimanche 9 janvier 2011StatutMembreDernière intervention12 janvier 2012
-
7 janv. 2012 à 18:35
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
13 janv. 2012 à 07:06
Bonjour,
Dans un programme en C#, j'explore des fichiers xml existants avec une structure existante que je dois respecter et je souhaite ajouter des noeuds. Mon problème est que Visual Studio ne me laisse pas écrire la syntaxe que je souhaite.
Je cherche à écrire un noeud qui aurait la forme :
Mon contenu
Le mieux que j'arrive à obtenir est (Comme vous pouvez le voir, il manque ab: et il y a en trop xmlns= "".) :
MSDN me dit que si je met un XmlNode.Name qui contient le symbole ":", il le découpera en Prefix + LocalName. Soit mais moi j'ai besoin de trouver un contournement car tous les fichiers existants et futurs ont besoin de cette structure "ab:balise".
--> Quelqu'un a une idée à proposer pour que j'ai ma balise complète ?
Pour le NamespaceURI, que je mette une chaine vide ou bien que j'utilise le NamespaceURI du noeud parent ou du document, rien à faire, il me rajoute à chaque fois l'attribut xmlns que je ne peut même pas supprimer par un XmlNode.Attributes.RemoveAll()
--> Quelqu'un a une idée à proposer pour supprimer cet "attribut" ?
J'ai pas mal cherché sur internet mais rien, j'ai même essayé en mode XmlNodeType.Text mais ça ne marche pas. J'aimerai bien trouver une solution pour éviter de modifier une partie par les méthodes de System.Xml puis de remodifier le fichier avec un System.IO.StreamWriter.
GG1983
Messages postés2Date d'inscriptiondimanche 9 janvier 2011StatutMembreDernière intervention12 janvier 2012 12 janv. 2012 à 22:44
Bonjour,
sisi j'ai bien lu la doc et c'est pour ça que j'ai rajouté :
Pour le NamespaceURI, que je mette une chaine vide ou bien que j'utilise le NamespaceURI du noeud parent ou du document, rien à faire
mon namespace dans le document n'est pas ab, il est bien plus long que ça mais il ne m'interesse pas. Je n'ai pas le choix, je dois respecter la structure des balises donc je veux que le programme m'écrive mes noms de balise du style
Mon contenu
D'ailleurs quand je fais une lecture par le XmlTextReader d'un fichier existant, il me donne bien dans le XmlNode.Name une string qui vaut ab:balise et non uniquement balise, preuve que le : dans le nom de balise ne le choque pas tout le temps.
Pour l'instant j'ai utilisé une méthode très bourrine, j'ai mis une chaine de remplacement du type ààààà à la place de ab: et une fois le xml modifié, je rouvre le fichier en mode texte et je remplace toutes les occurences de ààààà par ab: