Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : ASP3 Sous node xml [ Réseau & Internet / RSS & XML ] (Jackboy)

lundi 15 janvier 2007 à 15:09:26 | ASP3 Sous node xml

Jackboy


Bonjour !

J'ai un fichier xml donc je récupère et j'affiche les nodes. Pour le moment j'afficher tous les node et sous node, mais j'aimerai pourvoir détecter le parent du node, car j'ai des droits d'accès sur les liens, donc je décide si un user a droit ou non de voir un lien, je ne veux donc pas afficher les enfant du lien. Comme dans mon exemple si bas, valid a 1 indique que je peux voir le lien, mais comme le lien 3 je ne peux pas (-1) je ne veux pas faire afficher le lien 3.1 etc. meme s'il sont à 1, car le noeud parent est non valid.

ex.:
<sitemap>
        <item link="accueil" valid="1">
            <item link="lien 1" valid="1" />
            <item link="lien 2" valid="1">
                <item link="lien 2.2" valid="1" />
                <item link="lien 2.3" valid="1" />
             </item>
            <item link="lien 3" valid="-1" >
                <item link="lien 3.1" valid="1">
                    <item link="lien 3.1.1" valid="1" />
                    <item link="lien 3.1.2" valid="1"  />
                </item>
            </item>
        </item>
    </item>

Voici le script que j'ai fait pour le moment... Merci de votre coup de pouce !!!

<%
            qResultat = request.querystring("resultat")
            if qResultat = "" then
                qResultat = -1
            end if
            strFileXml = Server.MapPath("test.xml")

            Set objXML = Server.CreateObject("MSXML2.DOMDocument")

            objXML.load(strFileXml)

            Set objItem = objXML.documentElement.selectSingleNode("item")
            set objXML = nothing
           
            Set objItemChild = objItem.getElementsByTagName("item")
            set objItem = nothing
           
            Dim intobjItemChild
            intobjItemChild = objItemChild.length

            Dim Nom, Url, Id
       
            Dim EndNode
            EndNode = 0
            For i=0 To objItemChild.length -1

                  set node_noeud = objItemChild.item(i)
               
                if node_noeud.attributes.item(2).nodeValue <> "-1" then
                    if node_noeud.attributes.item(4).nodeValue <> qResultat and EndNode > -1 then
                        Response.Write("<td><font face='verdana,sans-serif' size='1'><b>&nbsp;&nbsp;<a STYLE=text-decoration:underline;color:red;' href=index.asp?resultat=" & node_noeud.attributes.item(4).nodeValue & ">" & node_noeud.attributes.item(3).nodeValue & "</a>")
                        if (objItemChild.length -1) = i then
                        else
                            response.write "&nbsp;></font></td>"
                        end if
                       
                    else
                        if EndNode > -1 then
                            Response.Write("<td><font face='verdana,sans-serif' size='1'><b>&nbsp;&nbsp;<a STYLE=text-decoration:underline;color:red;' href=index.asp?resultat=" & node_noeud.attributes.item(4).nodeValue & ">" & node_noeud.attributes.item(3).nodeValue & "</a>")
                            EndNode = -1
                        end if
                    end if 
                end if
               
                set node_noeud = nothing
               
              next

            %>




lundi 15 janvier 2007 à 15:14:19 | Re : ASP3 Sous node xml

Jackboy

Pour le xml j'en en fait 4 attribut ex.:

<sitemap>
        <item type="link" id="16124" valid="1" text="Accueil" link="test.asp"/>
            <item type="link" id="16265" valid="1" text="lien1" link="test1.asp"/>
            <item type="link" id="66166" valid="1" text="lien2" link="test2.asp"/>
                <item type="link" id="16267" valid="1" text="lien2.1" link="test2.1.asp"/>
                <item type="link" id="86168" valid="1" text="lien2.2" link="test2.2.asp"/>
             </item>
            <item type="link" id="66139" valid="-1" text="lien3" link="test3.asp"/>
                <item type="link" id="26150" valid="1" text="lien3.1" link="test3.1.asp"/>
                    <item type="link" id="56611" valid="1" text="lien3.1.1" link="test3.1.1.asp"/>
                    <item type="link" id="461682" valid="1" text="lien3.1.2" link="test3.1.2.asp"/>
                </item>
            </item>
        </item>
    </item>


 


lundi 15 janvier 2007 à 15:16:01 | Re : ASP3 Sous node xml

Jackboy

</sitemap>

(sa serai plus simple si on pourrait editer ici )

 


lundi 15 janvier 2007 à 19:06:30 | Re : ASP3 Sous node xml

Nurgle

Membre Club Administrateur CodeS-SourceS
Salut,
C'est pour ce genre de traitement que les fonctions récursives sont utiles.
Tu devrais créer une fonction AfficherNode qui prend en paramètre un node, et dedans tu fais :

1. Tu test si le lien correspondant à ce node doit être visible. Si oui, tu passes au 2, si non, Exit Sub.
2. Tu affiches le HTML du lien.
3. Tu fais une boucle sur tonNode.getElementByTagName("item").
4. Dans cette boucle tu rappelles ta propre fonction AfficherNode en passant le sous-item.

Ainsi, si un élément parent n'est pas visible, la fonction ne sera jamais appellée pour les sous-items et donc ils ne seront jamais affichés.
Après, dans ton code tu as juste à faire AfficherNode(objItem) et c'est tout.

A++


Nurgle (Antoine) - MSP



Cette discussion est classé dans : set, lien, item, node, noeud


Répondre à ce message

Sujets en rapport avec ce message

integrer un lien [ par tazenzaret ] bonjours,je cree une page où un formulaire pour l'envoi d'un email (3 champs : 1-A:   2-Sujet:  3-message  ) le code ke j'ai utilsé sa march bien Dim ajouter dans un treeview ? [ par superkiller ] bonjour, je dois creer un menu treeview dont les lien et nom des nodes sont dans une base de données access.le probleme est que je ne sais p Modifier le texte d'un noeud Xml [ par roro59650 ] Bonjour bonjour,Actuellement je travaille sur une page ASP qui modifie une page XML.Ma question est de savoir comment affecter une valeur à un texte d Supprimer attribut d'un noeud xml [ par roro59650 ] Bonjour,je travaille sur une page ASP qui lit les informations d'une page XML.Là, tout va bien. Il me manque juste UNE petite chose : supprimer un att Problème d'utilisation de contrôles dynamiques [ par webtof ] Bonjour,La page que je développe est construite de façon dynamique : je récupère une liste de zones dans une base de données et j'affiche un controle Modifier un fichier Excel [ par roro59650 ] Bonjour,je souhaite modifier, à partir d'une page ASP, le contenu d'un fichier Excel.Bon, j'arrive à le modifier, mais le problème se trouve à la ferm Changer couleur dans un graphe Excel [ par roro59650 ] Bonjour,je souhaite changer les couleurs d'un graphique excel.Voila mon code :         Dim oExcel, oWrk, oSheet, oChart, oSerie        Dim rowStart, p Probleme de lien [ par aztcaLISS ] Salut,Je suis debutant en ASP.NET et j'ai un probleme avec mes liens.Voila ce que j'ai fait: J'ai creer une webform et j'ai mis un lien dans le code h asp.net lien requete et données dynamiques [ par missette ] coucou tt le monde, je voudrais savoir comment faire pour établir un lien entre les données dynamiques se trouvant dans un datagride et des requete. Ajout de textbox dynamiquement [ par yanis7518 ] Salut a tousVoila j'ai une interface à réaliser en Asp.Net/C# pour de la saisie.Dans cette interface, le client doit pouvoir ajouter des Textbox dynam


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.