Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Xpath

  1. #1
    Utente bannato
    Registrato dal
    Apr 2011
    Messaggi
    113

    Xpath

    <?php
    $xml = simplexml_load_file("1.xml");

    $result = $xml->xpath("loc");

    print_r($result);
    ?>

    Come mai non mi restituisce niente?

    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
    <loc>http://www.lklk.it/libri-accrescimen...8821805578.htm</loc>
    <lastmod>2010-11-30</lastmod>
    <changefreq>daily</changefreq>
    <priority>1</priority>
    </url>
    <url>
    <loc>http://www.ljklkj.it/libri-agiografi...8821800641.htm</loc>
    <lastmod>2010-11-30</lastmod>
    <changefreq>daily</changefreq>
    <priority>1</priority>
    </url>
    <url>

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    1. il tuo xml e' malformato (manca l'urlset di chiusura)
    2. <loc> non e' un elemento nel contesto del parent globale <urlset>, non potrai mai trovarlo con "loc"
    3. hai un namespace, quindi lo devi registrare, altrimenti xpath cerchera' nel namespace di default

    in pratica, dopo aver sistemato e caricato l'xml, devi fare

    $xml->registerXPathNamespace('bla', 'http://www.sitemaps.org/schemas/sitemap/0.9');
    $result = $xml->xpath("//bla:loc");


    ps: consiglio personale: e' evidente che non hai idea di quello che stai facendo, stai andando alla cieca. Se dedichi un giorno alla lettura della documentazione, potrai risparmiare molti altri giorni di sbattimento di testa

  3. #3
    Utente bannato
    Registrato dal
    Apr 2011
    Messaggi
    113
    ho controllato il mio database è cosi
    però anche cambiando il codice come hai detto tu non mi va

    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
    <loc>http://www.lklk.it/libri-accrescime...88821805578.htm</loc>
    <lastmod>2010-11-30</lastmod>
    <changefreq>daily</changefreq>
    <priority>1</priority>
    </url>
    <url>
    <loc>http://www.ljklkj.it/libri-agiograf...88821800641.htm</loc>
    <lastmod>2010-11-30</lastmod>
    <changefreq>daily</changefreq>
    <priority>1</priority>
    </url>
    <url>
    .......
    .......
    .......
    .......
    .......
    </urlset>

  4. #4
    Utente bannato
    Registrato dal
    Apr 2011
    Messaggi
    113
    Ho modificato il database mettendo al posto di:
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    </urlset>

    <path>
    </path>

    e poi ho inviato il codice (e cosi va)
    [CODE]
    $xml = simplexml_load_file("1.xml");
    $result = $xml->xpath("/path/url[1]/loc");
    [CODE]

    Ma come faccio per lasciare questo urlset?
    ho provato cosi ma non va.. dove sbaglio?
    [CODE]
    $xml = simplexml_load_file("1.xml");
    $xml->registerXPathNamespace('bla', 'http://www.sitemaps.org/schemas/sitemap/0.9');
    $result = $xml->xpath("/bla/url[1]/loc");
    print_r($result);
    [CODE]

  5. #5

    good

  6. #6
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Originariamente inviato da jookla


    Ma come faccio per lasciare questo urlset?
    ho provato cosi ma non va.. dove sbaglio?

    $xml = simplexml_load_file("1.xml");
    $xml->registerXPathNamespace('bla', 'http://www.sitemaps.org/schemas/sitemap/0.9');
    $result = $xml->xpath("/bla/url[1]/loc");
    print_r($result);
    bla e' un prefisso, deve essere quindi "/bla:url[1]/bla:loc"

  7. #7
    Utente bannato
    Registrato dal
    Apr 2011
    Messaggi
    113
    niente anche cosi
    esce


    Array ( )

  8. #8
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    si, avevo solo aggiunto il prefisso, mantenendo il tuo xpath, che era sbagliato

    devi fare

    "bla:url[1]/bla:loc"
    oppure
    "//bla:url[1]/bla:loc"

  9. #9
    Utente bannato
    Registrato dal
    Apr 2011
    Messaggi
    113
    ok grazie 1000

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.