Probleme xml

djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015 - 2 avril 2008 à 21:57
djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015 - 2 avril 2008 à 21:59
<%
'permettra de stocker des infos en mémoire avant de les transmettre au client
Response.Buffer = True


'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'        CHARGEMENT ET EXTRACTION DES DONNEES A PARTIR DU FICHIER XML
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


'creation de variables :
 ' objXml qui sera le fichir xml que j'exploite
 'tit: titre des actu du fichier xml
 'resum sera le contenu du fichier xml
 'compt : compteur qui comptabilise le nombre de modif
 
 
dim objXML,titre,categorie,compt,rs


compt=0


Set objXML = Server.CreateObject("Microsoft.XMLDOM")


if (objXML.load (Server.MapPath(".")&"\861.xml")) then


' childNodes renvoie un tableau contenant les noeuds du fichier xml
' on recupère seulement le titre et le resumé


categorie=objXML.documentElement.childNodes(2).text
titre=objXML.documentElement.childNodes(7).text


response.write("Les champs ont été récupérés avec succès de votre fichier xml")


else
'si il ne trouve pas dinfo dans l'objet xml
'Gestion si une erreur se produit pour que le module asp ne plante pas
set objXML = Nothing
response.write("Les champs n'ont pas pu être récupérés, une erreur s'est produite pendant le chargement")
response.end
end if


'--- On génère la sortie HTML


response.write ("titre :  " & titre & "
")
response.write ("categorie : " & categorie & "
")


'-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'                   INSERTION DES DONNEES XML VERS ACCESS
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


set rs = server.createObject ("ADODB.recordset")
Set conn = Server.CreateObject("ADODB.Connection")


connstring="DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.MapPath(".") & "\recupe-contenu.mdb"
conn.Open connstring
 sql = "select titre, resume from sd_tbl_News where ((sd_tbl_News.titre)="&tit&")"
 rs.Open sql, conn, 3, 3
 rs.movefirst


 'si le titre existe déja il s'agira d'une mise à jour
 if sd_tbl_News.recordcount=1 then
  rs.fields("categorie")="&resum&" 
  rs.update
  compt=compt+1
  
 'sql=UPDATE sd_tbl_News SET resume='"&resum&"' WEHRE resume='"&resum&"'
 'rs.Execute(sql)
  
Salut a tous. j'aimerais obtenir un peu d'aide sur un module qui permet d'extraire des informations situées dans un fichier xml. Puis l'insérer dans une BD Access.Voila le code :

'si le titre n'existe pas, il s'agira d'un ajout
 else if sd_tbl_News=0 then
  rs.AddNew
  rs.fields("titre")="&tit&"
  rs.fields("categorie")="&resum&"
  rs.updateBatch
  rs.updateBatch
  
  'sql=INSERT INTO sd_tbl_News (titre,contenu) VALUES (",&titre&,",&resum")"
  'rs.Execute(sql)
 end if
  
 rs.close
 set rs=nothing
 conn.close
 set conn=nothing


end if

J'ai deux problème :
1. Le script a son exécution me génère une erreur sur les lignes 
      categorie=objXML.documentElement.childNodes(2).text
      titre=objXML.documentElement.childNodes(7).text
J'aimerais savoir ce qui peut causer ce problème et ce que je peux faire pour le résoudre

2. La connexion ne sa fait pas à la base de données : là encore je ne sais pas pourquoi ?

Si quelqu'un peut m'aider, merci d'avance

1 réponse

djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015
2 avril 2008 à 21:59
Salut a tous. j'aimerais obtenir un peu d'aide sur un module qui permet d'extraire des informations situées dans un fichier xml. Puis l'insérer dans une BD Access.Voila le code :

<%
'permettra de stocker des infos en mémoire avant de les transmettre au client
Response.Buffer = True


'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'        CHARGEMENT ET EXTRACTION DES DONNEES A PARTIR DU FICHIER XML
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


'creation de variables :
 ' objXml qui sera le fichir xml que j'exploite
 'tit: titre des actu du fichier xml
 'resum sera le contenu du fichier xml
 'compt : compteur qui comptabilise le nombre de modif
 
 
dim objXML,titre,categorie,compt,rs


compt=0


Set objXML = Server.CreateObject("Microsoft.XMLDOM")


if (objXML.load (Server.MapPath(".")&"\861.xml")) then


' childNodes renvoie un tableau contenant les noeuds du fichier xml
' on recupère seulement le titre et le resumé


categorie=objXML.documentElement.childNodes(2).text
titre=objXML.documentElement.childNodes(7).text


response.write("Les champs ont été récupérés avec succès de votre fichier xml")


else
'si il ne trouve pas dinfo dans l'objet xml
'Gestion si une erreur se produit pour que le module asp ne plante pas
set objXML = Nothing
response.write("Les champs n'ont pas pu être récupérés, une erreur s'est produite pendant le chargement")
response.end
end if


'--- On génère la sortie HTML


response.write ("titre :  " & titre & "
")
response.write ("categorie : " & categorie & "
")


'-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'                   INSERTION DES DONNEES XML VERS ACCESS
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


set rs = server.createObject ("ADODB.recordset")
Set conn = Server.CreateObject("ADODB.Connection")


connstring="DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.MapPath(".") & "\recupe-contenu.mdb"
conn.Open connstring
 sql = "select titre, resume from sd_tbl_News where ((sd_tbl_News.titre)="&tit&")"
 rs.Open sql, conn, 3, 3
 rs.movefirst


 'si le titre existe déja il s'agira d'une mise à jour
 if sd_tbl_News.recordcount=1 then
  rs.fields("categorie")="&resum&" 
  rs.update
  compt=compt+1
  
 'sql=UPDATE sd_tbl_News SET resume='"&resum&"' WEHRE resume='"&resum&"'
 'rs.Execute(sql)
  
 'si le titre n'existe pas, il s'agira d'un ajout
 else if sd_tbl_News=0 then
  rs.AddNew
  rs.fields("titre")="&tit&"
  rs.fields("categorie")="&resum&"
  rs.updateBatch
  rs.updateBatch
  
  'sql=INSERT INTO sd_tbl_News (titre,contenu) VALUES (",&titre&,",&resum")"
  'rs.Execute(sql)
 end if
  
 rs.close
 set rs=nothing
 conn.close
 set conn=nothing


end if
%>

J'ai deux problème :
1. Le script a son exécution me génère une erreur sur les lignes 
      categorie=objXML.documentElement.childNodes(2).text
      titre=objXML.documentElement.childNodes(7).text
J'aimerais savoir ce qui peut causer ce problème et ce que je peux faire pour le résoudre

2. La connexion ne sa fait pas à la base de données : là encore je ne sais pas pourquoi ?

Si quelqu'un peut m'aider, merci d'avance
0
Rejoignez-nous