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] où mettre [start-with(name(),"w:tc"]


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 135
    Points : 84
    Points
    84
    Par défaut [XPath] où mettre [start-with(name(),"w:tc"]
    bonjour à tous,

    j'ai une petite requète XPath a laquelle je voudrais rajouter une clause start-with(name(),'w:tc')]

    actuellement ma requète XPath permet de récupérer tous les w:tr dont le colRG -ième w:tc commence par RG mais je voudrais rajouter la clause name() afin de récupérer seulement les noeuds "w:tc" de mon arbre XML...

    voici la requète d'origine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "//w:tbl/w:tr[w:tc[" + colRG + "][starts-with(translate(.,'RG','rg'),'rg-')]]"
    colRG est un entier (concaténation pas terrible je le concède )

    est ce que mon XPath final sera :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "//w:tbl/w:tr[w:tc[" + colRG + "][starts-with(translate(.,'RG','rg'),'rg-')]][start-with(name(),'w:tc']
    ???

    Merci car je ne peux pas encore vraiment tester...

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    ca ne veut rien dire ce sont les noeuds w:tr qui sont selectionnés par ta requête

    Franchement telle qu'elle est posée ta question n'a aucun sens. Tu ferais mieux d'expliquer ce que tu veux

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 135
    Points : 84
    Points
    84
    Par défaut
    en gros, je voudrais eviter de taper ça :

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    XmlNodeList nodeListTR = doc.SelectNodes("//w:tbl/w:tr[w:tc[1][starts-with(translate(.,'RG','rg'),'rg-')]]", nsmgr);
                    XmlNodeList nodeListTC;
     
                    for (int j = 0; j < nodeListTR.Count; j++)
                    {
                        nodeTR = nodeListTR[j].SelectNodes("w:tc", nsmgr);
     
                        //traitements par la suite
                    }

    en gros je voudrais créer un liste liste de noeuds w:tr épuré ne contenant que des noeuds w:tc car Word met des balises dans tous les sens pour la mise en forme...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 135
    Points : 84
    Points
    84
    Par défaut
    ah ouais et puis tant qu'on y est ...

    ma requète ne marche pas alors qu'elle marchait hier... elle me renvoie une liste de noeuds vide alors que lorsque l'on regarde dans le fichier il y a bien des noeuds qui correspondent

    Edit :

    non c'est bon j'ai rajouté //w:t avant la méthode starts-with pour bien lui dire de regarder dans la balise t du premier w:tc rencontré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //w:tbl/w:tr[w:tc[1]//w:t[starts-with(translate(.,'RG','rg'),'rg-')]]
    mais c'est bizarre car avant ça marchait sans...

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/02/2007, 17h14
  2. [XPath][MSXML] starts-with renvoie méthode inconnue
    Par MrMaze dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 16/02/2007, 10h37
  3. performance clause like / starting with
    Par KRis dans le forum SQL
    Réponses: 2
    Dernier message: 20/01/2006, 14h42
  4. quel équivalent de start with...connect by prior en DB?
    Par Mittou dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/10/2005, 14h02

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