begin process at 2012 05 28 14:15:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

AU SECOURS !!!!

 > 

[vb][xml]


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[vb][xml]

jeudi 5 janvier 2006 à 12:51:51 | [vb][xml]

keliante

Bonjour à tous,

Mon problème est que mon code vb ne lit pas correctement ma bdd de mon fichier xml. Il ne trouve pas les nœuds sauf un root.

Alors voici le code vb qui est dans ma page aspx :

Sub Page_Load(Sender As Object, E As EventArgs)
       
        Dim typepage As String
        Dim produit As String
     
        typepage = Request.Params("type")
        produit = Request.Params("produit")

        Dim bdd As String
        Dim docxml As New XmlDocument
        Dim Noeud As XmlNode
        Dim Noeuds As XmlNodeList
        Dim scritere As String

        Select Case typepage

            Case "h"
                bdd = "file:///C:\ xx\xx\xxx \bddhomme.xml"
            Case "0"
                bdd = "file:///C:\ xx\xx\xxx \bddhome.xml"
        End Select

        docxml.Load(bdd)
        scritere = "/root/row[REFERENCE_PRODUIT = """ + produit + """]"

          Noeud = docxml.selectsinglenode(scritere)
        Noeuds = docxml.childnodes
       
        For Each Noeud In Noeuds
       
            Select Case Noeud.Name
                Case "IMAGE"
           
                Case "PRIX_HT"
                    prix.Text = Noeud.InnerText
                    zonetest.Text = bdd
                Case "DESIGNATION_FR"
                    titre.Text = Noeud.InnerText
                    zonetest.Text = bdd
                Case "DESCRIPTION_FR"
                    description.Text = Noeud.InnerText
                    zonetest.Text = bdd
            End Select
        Next

    End Sub

Voici ma base de données type que j'ai :

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <row>
        <RAYON_FR>Bébé</RAYON_FR>
        <RAYON_EN>Baby</RAYON_EN>
        <SOUS_RAYON_FR>Petits hauts</SOUS_RAYON_FR>
        <SOUS_RAYON_EN>Tops</SOUS_RAYON_EN>
        <REFERENCE></REFERENCE>
        <CODE_COULEUR></CODE_COULEUR>
        <DESIGNATION_FR>kikou</DESIGNATION_FR>
        <DESIGNATION_EN>kikou</DESIGNATION_EN>
        <DESCRIPTION_FR>Tee </DESCRIPTION_FR>
        <DESCRIPTION_EN></DESCRIPTION_EN>
        <PLUS_D_INFO_FR>Tee shirt manches courtes ras de cou</PLUS_D_INFO_FR>
        <PLUS_D_INFO_EN>Short sleeves tee shirt</PLUS_D_INFO_EN>
        <COULEUR_FR>Marine</COULEUR_FR>
        <COULEUR_EN>Navy blue</COULEUR_EN>
        <POIDS>0.2</POIDS>
        <PRIX_HT>13</PRIX_HT>
        <CODE_SKU>dksjgf</CODE_SKU>
        <STOCK_DISPONIBLE>0</STOCK_DISPONIBLE>
        <TAILLES>0M</TAILLES>
        <ORDRE_AFFICHAGE_TAILLES>1</ORDRE_AFFICHAGE_TAILLES>
        <IMAGE>521</IMAGE>
        <REFERENCE_PRODUIT>521</REFERENCE_PRODUIT>
        <PRODUIT_ACCUEIL>0</PRODUIT_ACCUEIL>
        <ORDRE_PRODUIT_ACCUEIL>0</ORDRE_PRODUIT_ACCUEIL>
        <ARTICLE_VISIBLE>1</ARTICLE_VISIBLE>
        <PRODUIT_VISIBLE>1</PRODUIT_VISIBLE>
        <Qu1>1</Qu1>
        <PRODUITS_ASSOCIES></PRODUITS_ASSOCIES>
    </row>

</root>

La page reçoit les paramètres suivant type = h et produit = 521

et il comprend rien, il me prend pas la ligne avec cette ref.

P.S. : j'ai mis que une seul ligne mais dans la vrai bdd j'en ai environ 800 (800 row)

Au secours !!!



jeudi 5 janvier 2006 à 12:52:40 | Re : [vb][xml]

keliante

et zut j'ai oublié le titre du sujet ppfff je fais que des bétises dsl  all
jeudi 5 janvier 2006 à 13:57:35 | Re : [vb][xml]

jesusonline

Membre Club Administrateur CodeS-SourceS
Bonjour,

A mon avis c'est la requete XPath qui deconne, j'ai pas l'habitude de faire du XPATH mais essaye plutot quelque chose du genre

//root/row/REFERENCE_PRODUIT/521/parent::*

Je suis pas sur pour selectionner le content du node.

En tout cas je suis interessé par la bonne requete :)


Cyril - MVS - MCP ASP
jeudi 5 janvier 2006 à 17:15:27 | Re : [vb][xml]

keliante

Réponse acceptée !
tient voilà la solution cyril :) J'ai trouvé !!! :D

docxml.Load(bdd)
        scritere = "/root/row[REFERENCE_PRODUIT = """ + produit + """]"


        Noeuds = docxml.childnodes
       
  For Each Noeud In Noeuds
       
             
    for each NoeudsEnfants IN Noeud.childnodes
        NoeudsEnfants = docxml.selectsinglenode(scritere)
        for each Noeudattribut In NoeudsEnfants.childnodes
                      
        Select Case Noeudattribut.Name
                      
        Case "IMAGE"
        Image17.ImageUrl = "images/medium/" + Noeudattribut.InnerText + ".gif"
                    Case "PRIX_HT"
                        prix.Text = Noeudattribut.InnerText
                    Case "DESIGNATION_FR"
                        titre.Text = Noeudattribut.InnerText
                    Case "DESCRIPTION_FR"
                        description.Text = Noeudattribut.InnerText
                    End Select
         Next
 Next
merci d'avoir lu mon problème et d'avoir tenté de m'aider .



jeudi 5 janvier 2006 à 17:24:08 | Re : [vb][xml]

jesusonline

Membre Club Administrateur CodeS-SourceS
Donc la requete Xpath était bone :p je savais pas qu'on pouvait directement faire de la sorte :)

par contre c'est quoi que t'as changé ? le problème était ou ?


Cyril - MVS - MCP ASP
vendredi 6 janvier 2006 à 11:00:48 | Re : [vb][xml]

keliante

bah en faite il faut réaliser une boucle pour chaque neoud .

comme j'ai root=>row=>puis les attributs me faut 3 boucles (oui car ils considèrent les attributs comme des noeuds .

Et  le chemin(Xpath) tu peux l'utiliser que dans la dernière boucle la ou tu peu x choper le noeud de ta restriction ( [REFERENCE_PRODUIT dans l exemple ci dessus).

Bon je trouve aps mon explication génial je vais en refaire une autre :

dans ma bdd j ai root ==> row (y a plusieurs lignes) => et dans chaque row j'ai 3 attributs.

Donc il faut tout d abord lire root (première boucler et trouver tous els noeuds enfants mais attention les enfants de root pas de row) ensuite tu peux descendre d'un cran pour trouver els enfants de row pour cela il faut faire une autre boucle qui te permet de trouver els enfants de la row(mais attention ils considèrent les attributs comme des noeuds)
Ensuite il faut descendre encore d'un cran pour obtenir les valeurs des attributs donc on refait une boucles pour obtenirs les enfants des noeuds.

Je sais je suis nul en explication j'espère qu en lisant le code et ce texte ça suffira à t'éclairer cyril. si je trouve une meilleur explication je la posterai ici.


Cette discussion est classée dans : text, case, bdd, produit, noeud


Répondre à ce message

Sujets en rapport avec ce message

Pb insertion date dans une base de données SQL Server [ par leusha ] Bonjour.        Dim todayDate As DateTime = DateTime.Now        Dim sTodayDate As String        sTodayDate = todayDate.ToString("d")        Response.W HELP - Session et datatable [ par nerone21 ] Bonjour, J'AI VRAIMENT VRAIMENT BESOIN D'AIDE SVP. MERCI. J'ai un (voir deux) problème(s) sur le comportement d'une page qui ne se comporte pas pare listview [ par sabeur88 ] j'ai crée une listeview, et il y a une colonne quand j click sur une case de cette colonne elle m'envoie sur une autre page, comment j pourrais savoir lister repertoires virtuels iis [ par urbanodg ] Bonjour,actuellement en formation de technicien informatique ,j'effectue mon stage dans une PME travaillant en environnement MS( IIS,SQLserver;.net).i La référence d'objet n'est pas définie à une instance d'un objet. [ par araniko ] bjr voila mon problem jai un datgrid et des champ textbox jai trouve un code il a l aire correct mais il me fai cette erreur La référence d'objet n'e EXECUTION DUN MACRO DANS UNE AUTRE BDD [ par JNTGGL ] Bonsoir, j essaie, a partir d une BDD, d executer une macro situee dans une autre BDD; la macro s execute correctement, mais ma function bloque au ni un problème en ASP.NET [ par jarmoud ] Bonjour, J'ai un textbox btntext.Text = "ASC" et un bouton dont l'action est la suivante: [code=vb] Protected Sub Button1_Click(ByVal sender As Pages Htm MsAccess 2003 et IE8 Win7 [ par editatontere ] Bonjour, et tous mes voeux à tous! Je suis confrontée au problème suivant: j'ai plusieurs BDD Access 2003 dans lesquelles j'ai des pages html. Ces pag Problème de liens hypertexte dans un résultat de requête aspx [ par serieuxgentil ] Bonjour j’ai pas pu insérer un lien hypertexte sur le champ d’un résultat d’une requête lancé par une page aspx, sachant que le lien change avec les creer un formulaire [ par marieantoinette ] bonjour je souhaite creer une bdd et y accéder par un formulaire en ce qu'il conserne insersion recherche suppression modification ; g creer mon formu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,870 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales