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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    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
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    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 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    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.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    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 582
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Juste [@class='xn-content']
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    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 582
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Property[@FormalName = 'Contact']/@Value
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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