Problème d'écriture XML

Résolu
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014 - 5 avril 2007 à 10:08
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 5 avril 2007 à 11:22
Bonjour

J'ai un fichier admin.xml qui liste des dossiers. Le fichier à la structure suivante :

<document>
    <dossiernom="
Groupes"
proprietaire="
1"
lecture="
1"
suppression="
0"
>
        <dossiernom="
40"
proprietaire="
1"
lecture="
1"
suppression="
1"
>
        </dossier>
        <dossiernom="
41"
proprietaire="
1"
lecture="
1"
suppression="
1"
>
        </dossier>
        </dossier>
        <dossiernom="
Persos"
proprietaire="
1"
lecture="
1"
suppression="
0"
>
    </dossier>
</document>


Je voudrai ajouter un noeud dossier (comme les dossiers 40 et 41) dans le noeud Groupes.
J'ai fais une fonction mais celle-ci ajoute le nouveau noeud comme enfant de <document> juste après le noeud Groupes et pas comme enfant de <dossier nom="Groupes"...

Private
Sub MAJadminXML(
ByVal id
As
Integer)

    Dim fic
As XmlDocument =
New XmlDocument()
    fic.Load(pathXML &
"admin.xml")

    Dim elemDocument
As XmlElement = fic.CreateElement(
"dossier")

    elemDocument.SetAttribute(
"nom", id)
    elemDocument.SetAttribute(
"proprietaire", 1)
    elemDocument.SetAttribute(
"lecture", 1)
    elemDocument.SetAttribute(
"suppression", 1)

    Dim endroit
As XmlElement = fic.DocumentElement
    endroit.InsertAfter(elemDocument, endroit.SelectSingleNode(
"//dossier[@nom='Groupes'"))










    Dim
tmp

As
XmlTextWriter =

New
XmlTextWriter(pathXML &

"admin.xml"
,

Nothing
)
    tmp.Formatting = Formatting.Indented



    fic.Save(tmp)
    tmp.Close()


End



Sub

J'ai essayé de modifier l'expression XPath en //dossier[@nom='Groupes']/dossier[last()] mais dans ce cas j'ai une erreur ArgumentException.

Si quelqu'un a une idée...

Merci d'avance

5 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
5 avril 2007 à 10:22
Salut,
Si tu travailles en VB.NET pourquoi poster ici??: [infomsg.aspx Thèmes] / [infomsgf_VISUAL-BASIC_1.aspx Visual Basic 6] / [infomsgt_BASE-DONNEES_234.aspx Base de données]

Plus tu seras précis dans le lieu où tu postes plus tu auras de chance d'avoir des réponses qui te conviennent...
En plus tu éviteras à certains (comme moi) de perdre leur temps en lisant ton post qui est soit disant pour VB6 et d'arriver à cette ligne

Dim fic
As XmlDocument =
New XmlDocument() (IMPOSSIBLE EN VB6)
D'avance merci

@+: Ju£i?n
Pensez: Réponse acceptée
3
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
5 avril 2007 à 10:27
Désolé me ssuis trompé

Je le poste là où il faut
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
5 avril 2007 à 10:31
Re,
NON NON laisse le un admin passera par la et le déplacera. sinon cela va faire un doublon (et c'est pas mieux)

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
5 avril 2007 à 10:34
Est-ce qu'il est possible de supprimer un post?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
5 avril 2007 à 11:22
Re,
Les admins passeront par là...

@+: Ju£i?n
Pensez: Réponse acceptée
0
Rejoignez-nous