Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    print_r con DOMDocument = output vuoto

    Perche' print_r su un DOMDocument stampa un oggetto vuoto?

    Esempio:
    codice:
    // codice XML
    <note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
    </note>
    
    // codice PHP
    <?php
    
    $dom = simplexml_load_file('sample.xml');
    print_r($dom);
    
    $dom = new DOMDocument;
    $dom->load('sample.xml');
    print_r($dom);
    var_dump($dom);
    ?>
    
    // output
    SimpleXMLElement Object
    (
        [to] => Tove
        [from] => Jani
        [heading] => Reminder
        [body] => Don't forget me this weekend!
    )
    DOMDocument Object
    (
    )
    object(DOMDocument)#2 (0) {
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    112
    Su php.net si parlava di questo bug gia in php 4. Tu usi chiaramente php 5 visto che utilizzi simplexml.

    Non saprei darti informazioni in più pero... se sei su php usa definitivamente simplexml, è molto piu comoda che dom!

  3. #3
    Originariamente inviato da mxdesign
    Su php.net si parlava di questo bug gia in php 4. Tu usi chiaramente php 5 visto che utilizzi simplexml.

    Non saprei darti informazioni in più pero... se sei su php usa definitivamente simplexml, è molto piu comoda che dom!
    Le Dom functions sono disponibili dal 5 in su.
    Simplexml + comoda di Dom si e no dipende
    da cosa ci devi fare.


    Le due classi hanno un comportamento
    assai differente con Dom in dom c'è
    una collezione di elementi è vuoto
    ma è pieno

    Codice PHP:
    var_dump($dom->documentElement->nodeName);
    var_dump($dom->documentElement->nodeValue); 
    Dai un occhio
    http://devzone.zend.com/node/view/id/1713

    e

    http://www.phpro.org/search?domains=...RID%3A11&hl=en

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    112
    Vero, e hanno anche prestazioni diverse specie se si vuole "parsare" grossi xml.

    A mio parere pero, salvo casi eccezionali, simplexml è decisamente migliore. E' piu... immediata.

    Gabriele

    ps: cmq domdocument esiste da php 4, anche se era davvero terribile!

  5. #5
    Si mi rendo conto che l'oggetto non e' davvero vuoto, mi chiedevo solo perche' print_r non ne stampa la struttura.

    Tra l'altro, perche' questo codice:

    codice:
    <?php
    $str = '<div id="test"><span class="strong">testo interno di prova</span></div>';
    
    $dom = new DOMDocument;
    $dom->loadHTML($str);
    $divs = $dom->getElementsByTagName('div');
    echo $divs->item(0)->nodeValue;
    ?>
    restituisce

    codice:
    testo interno di prova
    invece di

    codice:
    <span class="strong">testo interno di prova</span>
    ?

  6. #6
    Non ci trovo spiegazioni
    in js
    Codice PHP:
     var divs document.getElementsByTagName('div');
    alert(divs.item(0).firstChild.firstChild.nodeValue); 
    se provi con

    Codice PHP:
     var divs document.getElementsByTagName('div');
           
    alert(divs.item(0).nodeValue); 
    ottieni un bel null.


    Indaghiamo
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

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 © 2025 vBulletin Solutions, Inc. All rights reserved.