IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Enlver un noeud dans une structure XML


Sujet :

ASP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 25
    Points : 14
    Points
    14
    Par défaut Enlver un noeud dans une structure XML
    Bonjour! je travaille sur des bases de données XML en ASP (VBScript) et si j'arrive bien à ajouter des éléments dans ma base de données, les enlever est une autre paire de manches.
    Je m'explique.
    Voici un morceau de ma base de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet type="text/xsl" href="films.xsl"?>
    <dvdtheque>
    	<dvd titre="Matrix 2 Reloaded">
    		<annee>2003</annee>
    		<genre>SF/Action</genre>
    		<commentaire>Partie baston de la série</commentaire>
    	</dvd>
    	<dvd titre="Matrix 3 Revolutions">
    		<annee>2003</annee>
    		<genre>SF/Action</genre>
    		<commentaire>Partie guerre de la série</commentaire>
    	</dvd>
    </dvdtheque>
    Je voudrais savoir comment enlever un élément bien précis, sans qu'on en sache la position dans la base de données.
    Par exemple, je voudrais savoir comment enlever par titre.
    J'ai bien tenté ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    set nom="Matrix"
    set DvdToDelete=docxml.selectSingleNode("/dvd[@titre='"& nom &"']")
    set dvdtheque=docxml.selectSingleNode("dvdtheque")
    dvdtheque.removeChild(DvdToDelete)
    a savoir que ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set DvdToDelete=docxml.selectSingleNode("/dvd[@titre='"& nom &"']")
    ou ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    set DvdToDelete=docxml.selectSingleNode("//dvd[@titre='"& nom &"']")
    avec double slash
    ne marche pas, pas plus que ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set dvdtheque=docxml.selectSingleNode("dvdtheque")
    , ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set dvdtheque=docxml.selectSingleNode("//")
    ni ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set dvdtheque=docxml.selectSingleNode("//dvdthèque")
    Je ne vois pas comment faire, la syntaxe m'échappe.

    Merci d'avance!

  2. #2
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    Déjà ça fait 2 ans que j'ai pas fait de XML! Quand tu dis que veux supprimer sans qu'on sache sa position dans le fichier XML c'est que tu ne veux pas faire de boucle pour parcourir le fichier?
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Hum, non, je pensais passer par selectSingleNode pour sélectionner un élément dvd par son attribut "titre".
    Comme il s'agit d'une liste de films, l'objectif est simple dans sa théorie : l'ajout d'un dvd se passe par formulaire et se déroule très bien.
    L'effacement d'un dvd passe aussi par un formulaire mais le DVD est enlevé suivant son critère "titre". J'espère être assez clair...

  4. #4
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Une piste éventuelle daprès ce que j'ai lu, utilise plutôt l'objet Element plutôt que Node. Notamment les méthodes getAttribute() et getAttributeNode().
    mais bon comme je t'ai dit ça fait 2 ans que j'en ai pas fait.
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Merci, je vais voir ça.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/05/2012, 10h39
  2. Supprimer un certain noeud dans une variable XML
    Par benthebest dans le forum jQuery
    Réponses: 3
    Dernier message: 30/09/2009, 18h07
  3. Réponses: 2
    Dernier message: 01/12/2008, 15h32
  4. Recherche de noeuds dans une structure filamentaire
    Par adriangarello dans le forum Traitement d'images
    Réponses: 9
    Dernier message: 28/04/2008, 14h23
  5. Recherche dans une structure XML::Simple
    Par nicolargo dans le forum Modules
    Réponses: 1
    Dernier message: 04/09/2006, 19h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo