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

    [XML/RDF] - Parsing con DOM

    Ciao a tutti, ho un file rdf serializzato in xml, quindi alla fine un normale file xml e vorrei sapere se posso tranquilamente esplorarlo tramite il suo albero DOM.

    Lavorando in PHP un file di queso tipo viene tranquillamente caricato con

    $dom->load('file:///prova_rdf.xml', LIBXML_NOBLANKS);

    e posso accedere ai nodi figli nei soliti metodi che permette il DOM come

    $root = $dom->documentElement;
    $root = $root->firstChild;

    Non riesco però ad usare il metodo GetElementsByTagName che restituisce una lista degli elementi con un certo tag

    Ad esempio con un normale file xml/rdf che deve cominciare con <rdf:RDF> facendo

    print $dom->documentElement->nodeName;

    mi restituisce correttamente proprio rdf:RDF ossia il tag dell'elemento.

    Se imvece provo a cercarlo così

    $list = $dom->getElementsByTagName('rdf:RDF');

    la variabile $list risulta vuota come verificato facendo ad esempio

    print $list->length

    che restituirà ZERO.

    Allora, come uso questo metodo? Ci sono delle cose che non so su rdf, e non posso usare tutti i metodi DOM per navigarlo?

    Per favore se qualcuno sa, mi potrebbe rispondere?

    Grazie!

  2. #2
    Strano, facendo

    $list = $dom->getElementsByTagName('*');

    in modo che rilevi tutti i nodi mi restituisce effettivamente il numero di elementi presenti nel file rdf.

    Allora sbaglio a scrivere il nome degli elementi?

    Eppure il file rdf (un esempio che sto usando per le prove) è questo:

    Codice PHP:
    <?xml version="1.0" ?> 
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:a="http://nome_di_un_dominio/schema_autore/">
    <rdf:Description rdf:about="http://progetto.html">
    <a:isproject>
    <rdf:Description>
      <a:nome>NomeProgetto</a:nome> 
      <a:creatore>Pinco pallino</a:creatore> 
      </rdf:Description>
      </a:isproject>
      <a:prova>Colibrary</a:aur> 
      <a:prova2>Colibrary</a:aue> 
      </rdf:Description>
      </rdf:RDF>
    Eppure facendo
    $list = $dom->getElementsByTagName('a:nome');

    o qualsiasi altro tag degli elementi restituisce sempre zero.

    ??????????

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.