Supprimer xmlns="" de mon fichier xml, par code [Résolu]

Signaler
Messages postés
31
Date d'inscription
mardi 18 mai 2010
Statut
Membre
Dernière intervention
8 juin 2011
-
Messages postés
31
Date d'inscription
mardi 18 mai 2010
Statut
Membre
Dernière intervention
8 juin 2011
-
bonjour,
j'ai un fichier xml nommée "settings.xml" qui enregistre toute les données entrée dans mes différentes textbox, radiobuton...
mais depuis peu j'ai changer de méthode pour construire mon fichier xml, afin de pouvoir modifier mes noeuds, elle fonctionne très bien mais le problème c'est qu'elle m'inclut des xmlns="" entre mes balises enfants, ce qui me gêne car le contenu de mes éléments et charger dans des listbox, le soucil c'est qu'avec ces xmlns="" je ne peut plus les chargés, a moins peut être de changer les xpath et d'inclure dedans : xmlns="", mais vu que le contenu diffère xmlns="4", xmlns="6"... je ne pourrait pas tout charger correctement, je peut aussi les supprimer directement dans mon fichier xml, mais encore une fois ce n'est pas le but, je vous montre mon code et mon fichier xml si sa peut vous aidez :

Dim doc As New XmlDocument()
doc.Load("settings.xml")

'*** Création du chemin menant à l'élément "racine", pour placer les données
Dim xmlCeri As XmlElement = CType(doc.SelectSingleNode("./Ceri"), XmlElement)

Dim xmlArticle As XmlElement
xmlArticle = doc.CreateElement(Label1.Text)
xmlCeri.AppendChild(xmlArticle)

Dim xmlNum As XmlElement
xmlNum = doc.CreateElement("Num", Form1.Label12.Text + 1)
xmlNum.InnerText = Form1.Label12.Text + 1
xmlArticle.AppendChild(xmlNum)
'etc...
doc.Save("settings.xml")

fichier xml :

<?xml version="1.0" encoding="utf-8"?>
<Ceri>

<Num xmlns="1">1</Num>
<Titre xmlns="1">ytryutr</Titre>
<Solution xmlns="1">erter</Solution>
<Desc xmlns="1">tryr</Desc>
<Marque.CN xmlns="1">Bosch</Marque.CN>
<Categories xmlns="0">CN</Categories>


<Num xmlns="2">2</Num>
<Titre xmlns="2">word</Titre>
<Solution xmlns="2">info</Solution>
<Desc xmlns="2">logiciel</Desc>
<Theme xmlns="2">Divers</Theme>
<Categories xmlns="1">Organisation</Categories>

'etc...
</Ceri>

voilà merci d'avance
A voir également:

4 réponses

Messages postés
140
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
1 novembre 2010
5
Bonjour,
XmlDocument.CreateElement, méthode (String, String) crée un XmlElement avec le nom qualifié et NamespaceURI.

Dixit MSDN
Donc normal que :
xmlNum = doc.CreateElement("Num", Form1.Label12.Text + 1)

donne :
<Num xmlns="2">2</Num>

Pourquoi ne pas utiliser :
xmlNum = doc.CreateElement("Num")
Messages postés
140
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
1 novembre 2010
5
Bonjour,
regarde bien le code, le tien et celui en vert.
Tu vas trop vite, il faut créer un élément en lui donnant un nom et ensuite lui donner une valeur.
        Dim xmlArticle As XmlElement
        xmlArticle = doc.CreateElement(Label1.Text)
        xmlCeri.AppendChild(xmlArticle)

        'Dim xmlArticle As XmlElement
        'xmlArticle = doc.CreateElement("Article")
        'xmlArticle.InnerText = (Label1.Text)
        'xmlCeri.AppendChild(xmlArticle)

On m'attend je te laisse
Messages postés
31
Date d'inscription
mardi 18 mai 2010
Statut
Membre
Dernière intervention
8 juin 2011

oui je sais, je l'ai retiré volontairement, car j'ai placé le numéro de mes articles dans une nouvelle balise nommée <Num xmlns="1">2</Num>, je ne veut donc rien ne voir apparaitre dans titre a part les noeuds enfants, mais même avec cette ligne, le problème ne diffère pas j'ai toujours des xmlns = "" qui me gêne terriblement pour charger mon fichier dans mes listbox, si tu à une idée pour les supprimer, masquer, retirer cela me serait d'un grande aide, merci d'avance
Messages postés
31
Date d'inscription
mardi 18 mai 2010
Statut
Membre
Dernière intervention
8 juin 2011

>< juste envie de dire merci!
j'utilisé mon label avant, dans mon ancien fichier xml afin de numéroter mes articles, mais c'est vrai que cela n'était plus nécessaire dans celui-ci, j'ai chercher partout alors que c'était juste sa^^ en tout cas merci de m'avoir aidé, mon programme à bien avancer, pour l'instant plus de soucis, je reviendrais en cas de besoin, mais le plus tard possible je l'espère^^ bonne fin de journée à toi!