begin process at 2012 02 11 01:24:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP / ASP3

 > 

Réseau & Internet

 > 

RSS & XML

 > 

ASP3 Sous node xml


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

ASP3 Sous node xml

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ée 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 Probléme dajouter un sous menu à ce sous menu [ par msmcml ] bonjour, je veux ajouter un sous menu à un sous menu mais je n'arrive pas, pouvez vous m'aidez svp:voila le code sachant que je suis en train de faire datagrid cliquable [ par technicienne ] salut tout le monde je tarvaille sur une application web asp.net/c# et je voudrais faire un datagrid view et j'utilise ce code: protected void DataGr Placer une variable dans un lien [ par TGSI ] Bonjour, En faite, je vous explique ma démarche. J'ai utiliser un SqlDataSource ainsi qu'une ListView, pour afficher des données. Ensuite, j'ai in Insertion de lien dans un swf [ par come12101989 ] bonjour à tous, Je vient de faire un bandeau publicitaire et j'aimerais mettre les liens correspondant au image. Sachant que je n'y connait absolume Comparer des structures XML [ par Verrisan ] Bonjour, Est-ce quelqu'un parmi vous, connaîtrait un moyen de comparer deux structure XML (par exemple deux document Xml). J'ai essayé avec CompareT extraire lien d'une page web avec ASP [ par marwen87 ] bonjour, svp s'il ya un code source ou une fonction qui permet de extraire le lien d'une page web avec langage asp merci d'avance Comment faire pour créer un tableau interactif? [ par AceShooter39 ] Bonjour, J'aimerais reproduire un tableau interactif comme celui de l'image ci-dessous. le lien pour bien comprendre comment il marche ce trouve [url


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,281 sec (4)

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