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 : Dérivation d'un fichier sitemap (de type xml) [ Web 2.0 ] (PeTeRsLaStAr)

lundi 18 février 2008 à 16:21:51 | Dérivation d'un fichier sitemap (de type xml)

PeTeRsLaStAr

Membre Club
Bonjour.

Je souhaiterais savoir s'il est possible de dériver un fichier de type web.sitemap

Je m'explique, je souhaiterais rajouter un autre attribut qui soit autre que url, description ou title, afin de pouvoir stocker des informations pour chaque lien stocké...

Est ce que quelqu'un saurait m'indiquer comment faire ?
(sachant que peut être la dérivation n'est pas la meilleure solution hein...)

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher

lundi 18 février 2008 à 16:35:40 | Re : Dérivation d'un fichier sitemap (de type xml)

lassaad83

Membre Club
Essaye de lui définir un nouveau shéma XSD pour ajouter les attributs que tu souhaiterais rajouter.
Commence à partir du shéma XSD par défaut d'un fichier Web.SiteMap qui se trouve a ce niveau C:\Program Files\Microsoft Visual Studio 8\xml\Schemas\SiteMapSchema.xsd.


lundi 18 février 2008 à 17:04:28 | Re : Dérivation d'un fichier sitemap (de type xml)

PeTeRsLaStAr

Membre Club
Merci, cela fonctionne, je peux maintenant modifier mes paramètres au niveau de mon fichier XML :)

Juste une drnière précision, avant que je valide ta réponse,
Si je parviens bien à rajouter des éléments dans mon fichier sitemap, (ex : toto="test")
Je ne parviens pas à y accéder au niveau de mon code...
SiteMap MySiteMap;
MySiteMap.ChildNodes[0].toto n'existe pas...

Je ne vois pas comment le rajouter... ??

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher

mardi 19 février 2008 à 10:39:46 | Re : Dérivation d'un fichier sitemap (de type xml)

lassaad83

Membre Club

Voila un exemple tout simple de comment tu peut recuperer les infos :

XmlDocument

XmlDoc = new XmlDocument ();
XmlDoc.Load(
"MonWeb.sitemap" );
XmlNodeList xmlnodelist = XmlDoc.GetElementsByTagName( "siteMapNode" );
string xmlnode = xmlnodelist.Item(0).Attributes[ "toto" ].InnerText;

Sinon après je te conseil d'effectuer une boucle qui poura parser de fond en comble ton fichier et ainsi recuperer toute les info, un truc de ce genre quoi :

XmlDocument
xmlLink = newXmlDocument();
xmlLink.Load(
"MonWeb.sitemap");
XmlNodeList listLinks = xmlLink.GetElementsByTagName("siteMapNode");
foreach (XmlNode link in xmlLink.GetElementsByTagName("siteMapNode"))
{
      if (link.Attributes["monAttribut"].Value == "Test")
         {
              tmp = link.InnerText;
          }
}




mardi 19 février 2008 à 10:45:24 | Re : Dérivation d'un fichier sitemap (de type xml)

PeTeRsLaStAr

Membre Club
Ce n'est pas possible de passer par SiteMapNode plutot ?
Tu vas me dire que SiteMapNode n'est pas assez générique pour ce que je veux faire j'imagine...

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher

mardi 19 février 2008 à 10:50:16 | Re : Dérivation d'un fichier sitemap (de type xml)

PeTeRsLaStAr

Membre Club
En fait pourquoi je souhaite passer par SiteMapNode plutot, c'est que je gère les "levels" de mon arborescence, d'une part et que d'autre part, je gère les "roles"...

Donc deux cas de figure, soit je passe tout en XMLNode, et je perds l'intérêt de passer par les SiteMapNode,
soit je garde mes XMLNode, et mes SiteMapNode, mais j'ai deux "navigations" sur un même fichier XML en même temps...
pas top, niveau propreté de codage...

En fait, le gros hic, c'est que la propriété "Attributes" n'est malheureusement pas accessible dans SiteMapNode... si c'était le cas, ça résoudrait bien mes problèmes...

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher

mardi 19 février 2008 à 11:43:31 | Re : Dérivation d'un fichier sitemap (de type xml)

lassaad83

Membre Club

Une question, quel genre d'info tu va stocker dans ton web.sitemap ?


mardi 19 février 2008 à 11:46:09 | Re : Dérivation d'un fichier sitemap (de type xml)

PeTeRsLaStAr

Membre Club
Une adresse URL, une description un title, et surtout des roles...

L'idée étant de créer un menu "dynamique" en fonction de mes rôles.

Sachant aussi que l'on gère les autorisations des différentes pages en fonction d'un SiteMapProvider, se basant donc sur les roles de ce siteMap...

Et donc, on souhaite rajouter un attribut, pour avoir en fait une image pour chaque Menu ou URL (afin de préciser, les URL fonctionnelles, en travaux, etc... ce qui ne peut aps être fait de manière statique..)

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher

mardi 19 février 2008 à 12:23:18 | Re : Dérivation d'un fichier sitemap (de type xml)

lassaad83

Membre Club

Dans ton cas tu doit faire une class qui dérive de la class XmlSiteProvider pour aboutir à tes besoins.
Mais avant je te conseil de jeter un coup d'oeil sur ça : ça devrait beaucoup t'intéresser ...


mardi 19 février 2008 à 12:44:27 | Re : Dérivation d'un fichier sitemap (de type xml)

PeTeRsLaStAr

Membre Club
Article intéressant en effet :)
J'en avais entendu parler, mais le voir d'une manière plus approfondie est un bon point...

Cependant, mon supérieur n'est pas chaud pour qu'on le mettre en place... Je vais donc devoir rester sur la première solution...

Tu parles de dériver la class XMLSiteProvider, peux tu m'en dire plus ? J'avais plus penser à dériver la classe SiteMapNode  mais je ne vois pas comment m'y prendre...

Car au final, on utilise le SiteMap.Provider à un seul moment : (sauf si je me trompe)

        SiteMapNodeCollection MyCollection = SiteMap.Provider.GetChildNodes(SiteMap.Provider.RootNode);

       foreach (SiteMapNode MyItem in MyCollection)
        {
            if (MyItem.ChildNodes.Count > 0)
            {
                // On prépare le nb de Childs
                liNbChild = MyItem.ChildNodes.Count;
               
                for(liNbChildCompteur=0;liNbChildCompteur<liNbChild;liNbChildCompteur++)
                {
                    // vérification qu'on est bien dans une page ou seul le role "toto" est affiché
                    if (!MyItem.ChildNodes[liNbChildCompteur].Roles.Contains("toto"))
                        {
                               // Récupération de l'url
                               HyperLink MyHL = new HyperLink();
                               MyHL.PostBackUrl = MyItem.ChildNodes[liNbChildCompteur].Url;
                               // Récupération de l'attribut que j'ai rajouté dans mon XSD (??? c'est pour cette ligne qu'il faudrait dériver                                // le SiteMapNode je pense... mais comment s'y prendre ?
                               MyHL.SkinID = MyItem.ChildNodes[liNbChildCompteur].MySkinID;// (cette ligne ne marche pas hein...)
                        }
                   // ...
                   }
    //...
}

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher


1 2

Cette discussion est classé dans : fichier, type, xml, sitemap, dérivation


Répondre à ce message

Sujets en rapport avec ce message

Vérification du type de la donnée [ par Psy ] slt à tous, voila mon pb : A partir d'un formulaire, le client m'upload un fichier mais j'aimerais verifier avant l'upload que le fichier est bien du xml et images [ par fraud ] farfadetbonjourje cherche comment on crée un lien à partir d'un fichier xml vers un fichier image.jpg pour faire apparaitre l'image dans une animation Parser un fichier XML sur un serveur distant [ par Skyride ] Bonsoir à tousQuelqu'un pourrait t'il me renseigner sur un point particulier...Voila je vous expose mon problème, un fichier de données XML est stocké MSXML3 ... qui a une doc ??? [ par jimmy ] je dois utiliser le parseur MSXML3 pour créer un fichier xml à partir d'une base de données et pour extraire des données d'un fichier xml ... comment aller chercher un fichier .xml ?? [ par stephe12 ] Bonjour à tous. Je n'arrive pas à aller chercher un fichier .xml qui est sur un site internet pour le copier sur une page de mon site. Le tout est en Charger un fichier XML à partir d'une URL [ par bvb ] Quelqu'un sait-il comment charger un fichier XML à partir d'une URL?Quand je fais un mappath, tout va bien. Mais si je fais:objet.load "http://" & req fichier XML distant... [ par guizmo123 ] Bonjour à tous.Je vous explique mon petit problème, je sais lire et écrire des éléments dans un fichier XML grâce à une application que j'ai fait, mal Enregistrer en XML... [ par guizmo123 ] Bonjour tout le monde !Cela fait 4 jours que je fais des recherches sur comment enregistrer un fichier XML sur un serveur distant. Détails -> j'ai fai XML Projet [ par jaszbere ] Salut les gars!J'ai un projet a faire! Un client commande un produit dans mon magasin. Le client a une ID et le Produit (une image) a un ID et une lo lien url [ par Kashiko ] Je tente de recreer un principe de SAP qui :recoit une requete HTML (soit simplement une adresse avec des parametres)et renvoit un fichier de type xml


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,499 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é.