Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

From: Ricaud Matthieu (matthieu.ricaud@cned.fr)
Date: 18/05/2004 - 16:26


Bonjour,

Je te propose une solution en asp avec MSXML:

<%@ Language=VBScript %>

<%
' -----------------------Charger XML1.xml et XML2.xml

                Dim objXML1, objRoot1
                Set objXML1= server.CreateObject("Microsoft.XMLDOM")
                   if objXML1.load (Server.MapPath("XML1.xml")) then
                              Set objRoot1= objXML1.documentElement
                           else
                              set objXML1= Nothing
                              response.write("erreur")
                              response.end
                   end if

                Dim objXML2, objRoot2
                Set objXML2= server.CreateObject("Microsoft.XMLDOM")
                   if objXML2.load (Server.MapPath("XML2.xml")) then
                        Set objRoot2= objXML2.documentElement
                           else
                              set objXML2= Nothing
                              response.write("erreur")
                              response.end
                   end if

'-------------Selectionne le noeud Livre 1 dans XML2.xml
                Dim objLIVRE1XML2
                Set objLIVRE1XML2=objRoot2.selectSingleNode("LIVRE[@num='1']")

'-------------Selectionne le noeud Livre 1 dans XML1.xml
                Dim objLIVRE1XML1
                Set objLIVRE1XML1=objRoot1.selectSingleNode("LIVRE[@num='1']")

'-------------Remplacer le noeud Livre 1 d'XML1.xml par le noeud Livre 1
d'XML2.xml

                Set objRoot1= objRoot1.replaceChild(objLIVRE1XML2, objLIVRE1XML1)

'---------Enregistrer les modifications apportées à XML1.xml

                objXML1.save(Server.MapPath("XML1.xml"))

'-------------------Vider les variables-------------------

                set objXML1= Nothing
                set objXML2= Nothing

%>

J'ai testé avec tes documents XML1.xml et XML2.xml et ça marche apparament.
(par contre attention, tes documents xml étaient mal formée==> n'oublie pas
de fermer toutes les balises ouvertes...)

Cdlmt,

Matthieu Ricaud

-----Message d'origine-----
De : xml-tech-bounce@xmlfr.org [mailto:xml-tech-bounce@xmlfr.org]De la
part de Lara Callaway
Envoyé : mardi 18 mai 2004 11:16
À : xml-tech@xmlfr.org
Objet : [xml-tech] Extraction et insertion de données XML

Bonjour,

J'ai un petit soucis avec l'extraction et l'insertion de données XML. J'ai 2
fichiers XML :

-------------------------------------------------------
Fichier XML1.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<LIVRES>
   <LIVRE num="1">
      <TITRE>Livre 1</TITRE>
         <AUTEUR>
            <NOM>Nom 1</NOM>
            <PRENOM>Prenom 1</PRENOM>
            <AGE>Age 1</AGE>
         </AUTEUR>
         <EDITEUR>Editeur 1</EDITEUR>
         <TYPE>
            <NBPAGE>Nb page 1</NBPAGE>
            <PAPIER>
               <COULEUR>Couleur 1<COULEUR>
               <QUALITE>
                  <COUVERTURE>Couverture 1<COUVERTURE>
                  <IMPRESSION>Impression 1<IMPRESSION>
                  <ILLUSTRATION>Illustration 1<ILLUSTRATION>
               </QUALITE>
            <PAPIER>
         </TYPE>
      </TITRE>
   </LIVRE>
   <LIVRE num="2">
      <TITRE>Livre 2</TITRE>
         <AUTEUR>
            <NOM>Nom 2</NOM>
            <PRENOM>Prenom 2</PRENOM>
            <AGE>Age 2</AGE>
         </AUTEUR>
         <EDITEUR>Editeur 2</EDITEUR>
         <TYPE>
            <NBPAGE>Nb page 2</NBPAGE>
            <PAPIER>
               <COULEUR>Couleur 2<COULEUR>
               <QUALITE>
                  <COUVERTURE>Couverture 2<COUVERTURE>
                  <IMPRESSION>Impression 2<IMPRESSION>
                  <ILLUSTRATION>Illustration 2<ILLUSTRATION>
               </QUALITE>
            <PAPIER>
         </TYPE>
      </TITRE>
   </LIVRE>
</LIVRES>
-------------------------------------------------------
Fichier XML2.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<LIVRES>
   <LIVRE num="1">
      <TITRE>Livre 3</TITRE>
         <AUTEUR>
            <NOM>Nom 3</NOM>
            <PRENOM>Prenom 3</PRENOM>
            <AGE>Age 3</AGE>
         </AUTEUR>
         <EDITEUR>Editeur 3</EDITEUR>
         <TYPE>
            <NBPAGE>Nb page 3</NBPAGE>
            <PAPIER>
               <COULEUR>Couleur 3<COULEUR>
               <QUALITE>
                  <COUVERTURE>Couverture 3<COUVERTURE>
                  <IMPRESSION>Impression 3<IMPRESSION>
                  <ILLUSTRATION>Illustration 3<ILLUSTRATION>
               </QUALITE>
            <PAPIER>
         </TYPE>
      </TITRE>
   </LIVRE>
</LIVRES>
-------------------------------------------------------
J'aimerai que le noeud <LIVRE num="1"> du fichier XML2.xml soit extrait avec
toutes ses données pour les remplacer dans le fichier XML1.xml.

Pour avoir en résultat ceci :
-------------------------------------------------------
Fichier XML1.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<LIVRES>
   <LIVRE num="1">
      <TITRE>Livre 3</TITRE>
         <AUTEUR>
            <NOM>Nom 3</NOM>
            <PRENOM>Prenom 3</PRENOM>
            <AGE>Age 3</AGE>
         </AUTEUR>
         <EDITEUR>Editeur 3</EDITEUR>
         <TYPE>
            <NBPAGE>Nb page 3</NBPAGE>
            <PAPIER>
               <COULEUR>Couleur 3<COULEUR>
               <QUALITE>
                  <COUVERTURE>Couverture 3<COUVERTURE>
                  <IMPRESSION>Impression 3<IMPRESSION>
                  <ILLUSTRATION>Illustration 3<ILLUSTRATION>
               </QUALITE>
            <PAPIER>
         </TYPE>
      </TITRE>
   </LIVRE>
   <LIVRE num="2">
      <TITRE>Livre 2</TITRE>
         <AUTEUR>
            <NOM>Nom 2</NOM>
            <PRENOM>Prenom 2</PRENOM>
            <AGE>Age 2</AGE>
         </AUTEUR>
         <EDITEUR>Editeur 2</EDITEUR>
         <TYPE>
            <NBPAGE>Nb page 2</NBPAGE>
            <PAPIER>
               <COULEUR>Couleur 2<COULEUR>
               <QUALITE>
                  <COUVERTURE>Couverture 2<COUVERTURE>
                  <IMPRESSION>Impression 2<IMPRESSION>
                  <ILLUSTRATION>Illustration 2<ILLUSTRATION>
               </QUALITE>
            <PAPIER>
         </TYPE>
      </TITRE>
   </LIVRE>
</LIVRES>
-------------------------------------------------------
J'aimerai savoir si c'est possible... Je sais par exemple retiré le texte
d'un
noeud (voir ci-dessous (pour TITRE)) mais comment prendre tout ? le texte,
le
noeud et garder l'arborescence ? Et après comment faire pour l'insérer dans
mon
autre fichier ?
-------------------------------------------------------
function recupInfos()
   Dim xmlDoc
   Dim titre
   Set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")
   if xmlDoc.load (Server.MapPath("XML2.XML")) then
      titre = xmlDoc.documentElement.childNodes(0).text
   else
      set xmlDoc = Nothing
      response.write("erreur")
      response.end
   end if
   set xmlDoc = Nothing
end function
-------------------------------------------------------
Si vous pouviez m'aider parce que je patauge... Merci :)

Lara

--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !

Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).

Cette liste est a votre disposition pour discuter en francais de tout sujet technique lie a XML.

Pour resilier votre abonnement, envoyez un message contenant la commande "unsubscribe" a xml-tech-request@xmlfr.org (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)

-- Devenez redacteur <XML>fr et contribuez au developpement du xml francophone (http://xmlfr.org/infos/redacteurs/) !

Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).

Cette liste est a votre disposition pour discuter en francais de tout sujet technique lie a XML.

Pour resilier votre abonnement, envoyez un message contenant la commande "unsubscribe" a xml-tech-request@xmlfr.org (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)



Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement