IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XPath] Probleme dans une requete XPath


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut [XPath] Probleme dans une requete XPath
    Comment fait ton pour juxtposer les condition sur un noeud,car j'arrive pas
    a selectionner:
    ->Les elements(balises) de nom entry qui satsifait les conditions suivantes:
    ->une balise de nom prod(parmi les desendant de la balise entry)dont
    l'attribut vaut MAC
    ->une balise de nom <user_init /> (cete balise est une descnendante de
    entry)

    Voila,voici le fichier XML:
    <entry type="CVE" name="CVE-2006-0003" seq="2006-0003" published="2006-04-11" modified="2006-04-13" severity="Medium" CVSS_score="5.6">
    - <desc>
    <descript source="cve">Unspecified vulnerability in the RDS.Dataspace ActiveX control, which is contained in ActiveX Data Objects (ADO) and distributed in Microsoft Data Access Components (MDAC) 2.7 and 2.8, allows remote attackers to execute arbitrary code via unknown attack vectors.</descript>
    </desc>
    - <sols>
    <sol source="nvd">http://www.microsoft.com/technet/security/Bulletin/MS06-014.mspx</sol>
    </sols>
    - <loss_types>
    <sec_prot user="1" />
    </loss_types>
    - <range>
    <user_init />
    </range>
    - <refs>
    </refs>
    - <vuln_soft>
    - <prod name="MDAC" vendor="Microsoft">
    </prod>
    </vuln_soft>
    </entry>


  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //entry[descendant::prod[@name = 'MAC'] and descendant::user_init]
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    Une mini variante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //entry[descendant::prod/@name='MDAC' and descendant::user_init]
    "Si vous voulez être l’esclave des banques et payer pour financer votre propre esclavage, alors laissez les banquiers créer la monnaie" - Josiah Stamp, 1920, Gouverneur de la Banque d’Angleterre
    "Qui ne peut acheter ruine qui voudrait vendre" - Jacques Duboin.
    "Nous n'héritons pas la terre de nos parents, nous l'empruntons à nos enfants." - Antoine de Saint Exupéry

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    C'est effectivement un peu plus concis.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Nickel,ca marche
    Merci ca marche bien.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut nouveau pb
    Merci ca marche bien.

    Par contre,j'ai vraiment un gros probleme,
    salut,j'ai un gros probleme avec xpath,

    Voici comment je recupere les infos:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    public class objet
     
    public void getcveLine(){
    try{
    System.out.println("Entrez le nom du fichier XML CVE d'ou il faut lire les données");
    BufferedReader keyboard = new BufferedReader(new
    InputStreamReader(System.in));
    fichierxml=keyboard.readLine();
    System.out.println("Entrez le type de la vulnérabilité");
    vuln_type=keyboard.readLine();
    System.out.println("Entrez le range de la vulnérabilité");
    range=keyboard.readLine();
    System.out.println("Entrez la séverité de l'attaque ");
    severity=keyboard.readLine();
    System.out.println("Entrez les dégats causés par l'attaque");
    loss_type=keyboard.readLine();
    System.out.println("Entrez le nom du programme vulnérable a cette attaque");
    prod_name=keyboard.readLine();
    System.out.println("Entrez le nom de l'éditeur du logiciel ");
    prod_name=keyboard.readLine();
    }

    On est pas obligés d'entrer des termes a chaque question,
    donc apres,
    je voudrais pouvoir faire une requete XPath UNIQUE,
    qui prennent en compte les données entrés et ceux pas entrés,
    un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    x = XPath.newInstance("//entry[@severity='"+objet.getseverity()+"'and
    descendant::prod[@name = '"+objet.getprod_name()+"']and
    descendant::"+objet.getrange()+" and descendant::"+objet.gevuln_type());
    et par ex,si j'ai rien mis en range,je voudrais qu'il n'y ait pas de
    objet.getrange(),ie que je sois pas obligé de faire plein de comparaison

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut une idée
    Personne a une idée?

    Je vais reformulé d'une autre facon,peut etre que c'est pas clair,a m'aide d'un exemple:
    Admettons que l'on est une requete suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //entry[descendant::prod[@name = 'MAC'] and descendant::user_init]
    On voit @name='MAC'
    Si je veut @name='Ethereal' ,il suffit que je remplce 'MAC' par 'ethereal',
    bon,
    si on supppose que c'est a partir d'un objet que l'on recupere le name du produit,on obtiendra:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @name='objet.getname()'

    Mais,mais admettons que objet.getname(), ne donne rien,
    et bien toute la requete tombe a l'eau.

    Comment faire donc ,pour evter de reecrire la requete selon
    que le renvoi de objt.getname() est nulle ou pas.
    De plus,j'ai a juxtaposé une dizaine de and et and ,donc a chaque fois,plusieurs possibilités,c'est a dire:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    prodname='ethereal'   AND  versname=2.5       AND SystemExploitation='Linux'
                   'ftp'                                2.6                        
                   'vmware'
    Voila,merci d'avance,je cherche mais je vois pas trop

Discussions similaires

  1. [XPATH] probleme dans ma requete
    Par kaygee dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 08/10/2009, 14h43
  2. [XPath] Concat dans une requete : interdit ?
    Par Thomus38 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 19/06/2007, 15h11
  3. Réponses: 2
    Dernier message: 28/10/2006, 20h55
  4. [Requête] Problème dans une requête analyse croisée
    Par drthodt dans le forum Requêtes et SQL.
    Réponses: 20
    Dernier message: 29/09/2006, 10h27
  5. probleme dans une requete de suppression
    Par iam dans le forum Bases de données
    Réponses: 3
    Dernier message: 03/07/2006, 11h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo