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 et balise <html>: la lecture des données bloque


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 2
    Points
    2
    Par défaut xpath et balise <html>: la lecture des données bloque
    Bonjour a tous,

    Voici mon probleme, je dois aller chercher en profondeur des données que un arbre xml. je le traite avec xpath.

    dans mon xml, se trouve une balise <html ....>

    quand je fais ça:

    $xpath = new Domxpath($dom);
    $result = $xpath->query('//ContentItem/DataContent');
    foreach ($result as $div) {
    echo $div->nodeValue;}

    Tout se passe bien.

    Mais si je fais ça:

    $xpath = new Domxpath($dom);
    $result = $xpath->query('//ContentItem/DataContent/html');
    foreach ($result as $div) {
    echo $div->nodeValue;}

    Là j'ai plus de donner en retour ???

    La balise que je dois aller chercher est en dessous de html etc....

    et si je l'appelle directement: pas de retour non plus.

    Je sèche complétement.
    Merci de votre aide.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    En fait ma balise html est composé comme ceci:

    <html xmlns="http://www.w3.org/1999/xhtml" xmlnsn="http://www.xmlnews.org/ns/">


    Je pense donc aprés avoir pas mal potassé qu'il faudrait que je joue avec le RegisterNamespace pour que ça marche, non?

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Citation Envoyé par damien_55 Voir le message
    Je pense donc aprés avoir pas mal potassé qu'il faudrait que je joue avec le RegisterNamespace pour que ça marche, non?
    Si. Mettre http://www.w3.org/1999/xhtml sur un préfixe genre h, et demander
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //ContentItem/DataContent/h:html
    En XPath, tout ce qui a un namespace doit être préfixé. La balise <html> a un namespace, il faut donc la préfixer dans ton XPath. Pas d'exception.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    J'ai réglé une partie du problème mais là je sèche.

    A l'intérieur de ma balise <body>

    J'ai deux balises <div class="xn-content"> et une autre <div class="xn-newslines">

    Je souhaite récuperer ces deux éléments séparement.

    J'ai fait ça:

    $xpath = new Domxpath($dom);
    $xpath->registerNamespace('xn', 'http://www.xmlnews.org/ns/');
    $xpath->registerNamespace('html', 'http://www.w3.org/1999/xhtml');

    $str_nodes="//html:html/html:body/html:div[@html:class='xn-content']";

    $result = $xpath->query($str_nodes);
    foreach ($result as $div) {
    echo $div->nodeValue;}

    en fonction de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xn="http://www.xmlnews.org/ns/">
    si je ne spécifie pas l'attribut, ça marche mais ce qui m'interresse c'est en fonction de l'attribut.

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Les balises sont dans un namespace, mais les attributs ne le sont pas.

    Juste [@class='xn-content']

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    une dernière question:

    J'ai une balise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Property FormalName="Contact" Value="xxxxxxxxx" />
    Je cherche a récupérer la valeur Value de ma balise ?

    Comment faire?

    a noter que j'ai une autre balise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Property FormalName="GeographyCode" Value="yyyyy" />

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Les prédicats. 'Faudrait lire les tutoriaux XPath.

    Property[@FormalName = 'Contact']/@Value

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Re,

    As tu des tutos a me conseiller ?

    Merci de ton aide

Discussions similaires

  1. Xml datasource Probleme de lecture des données
    Par gazzall dans le forum Jasper
    Réponses: 1
    Dernier message: 29/03/2007, 11h18
  2. Réponses: 1
    Dernier message: 21/03/2007, 16h43
  3. Réponses: 1
    Dernier message: 29/11/2006, 12h00
  4. pb de lecture des données fichier .ini
    Par peppena dans le forum C
    Réponses: 5
    Dernier message: 12/06/2006, 17h45
  5. [JList] Lecture des données sauvegardées dans un fichier
    Par Myogtha dans le forum Composants
    Réponses: 7
    Dernier message: 10/06/2004, 21h05

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