SimpleXML - Inserire DTD e intestazione

Discussione in 'PHP' iniziata da sunlightbanana, 26 Aprile 2016.

Tag (etichette):
  1. sunlightbanana

    sunlightbanana Utente Attivo

    Registrato:
    26 Ottobre 2011
    Messaggi:
    96
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    Salve,
    tramite SimpleXML creo automaticamente una pagina XML con varie informazioni.
    Il problema è che non so come inserire queste due voci:
    Codice:
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE xml SYSTEM "semantica.dtd">
    
    Riguardo l'intestazione mi da problemi per via del punto di domanda.
    Riguardo la DOCTYPE non so proprio come fare.

    Chiedo il vostro aiuto e vi ringrazio per la cortesia.
     
  2. MarcoGrazia

    MarcoGrazia Utente Attivo

    Registrato:
    15 Dicembre 2009
    Messaggi:
    664
    Mi Piace Ricevuti:
    7
    Punteggio:
    18
    Sesso:
    Maschio
    Occupazione:
    Sviluppare web design (Studiare)
    Località:
    Udine
    Home Page:
    La via migliore è usare le funzioni DOM e non le SimpleXML che come dice il nome sono semplici.
    In realtà non c'è nulla di complicato in ciò che vuoi fare tu :)
    PHP:
    $dom = new DOMDocument('1.0', 'utf-8');

    //  Oppure crei con simple l'intestazione così:
    $sxe = simplexml_load_string("<?xml version='1.0' encoding='utf-8'><!DOCTYPE xml SYSTEM "semantica.dtd">");
    Però ricordo che anni fa bazzicando proprio con xml e xslt alla fine dovetti ricorrere al DOM è meno intuitivo all'inizio ma alla fine ripaga.
     
  3. sunlightbanana

    sunlightbanana Utente Attivo

    Registrato:
    26 Ottobre 2011
    Messaggi:
    96
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    è proprio la risposta che temevo :)
    nel senso che sapevo mi sarebbe stato consigliato l'utilizzo del DOMDocument.
    Proverò allora ad approfondire il suo utilizzo e ti ringrazio per la risposta
     
  4. sunlightbanana

    sunlightbanana Utente Attivo

    Registrato:
    26 Ottobre 2011
    Messaggi:
    96
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    Per chi dovesse avere un problema simile, ho risolto così:

    Codice:
    $xml = new DOMDocument("1.0","utf-8");
    $doctype = new DOMImplementation();	
    $xml->appendChild($doctype->createDocumentType("xml","","semantica.dtd"));	
    
     
Sto caricando...

Condividi questa Pagina