2012-10-03 15 views
12

Come si può procedere con l'incorporamento di XML in una pagina HTML?Incorporamento di XML in HTML

Stavo pensando di utilizzare CDDATA sarebbe l'approccio migliore ma ottengo errori nel documento HTML quando la pagina viene caricata.

<script><![CDATA[ ... ]]></script> 

Ho bisogno di incorporare un documento XML per il recupero successivo con JavaScript. Ho bisogno di fare questo poiché quando l'utente lo apre, potrebbe non avere accesso a Internet.

+0

CDATA è significato per l'integrazione dei dati di carattere in XML, non incorporare XML in HTML (HTML non ha tali delimitatori). – BoltClock

+0

Finché l'XML non contiene '' ovunque, dovresti essere in grado di inserirlo semplicemente nei tag dello script (senza sezione CDATA). Dare allo script un tipo personalizzato in modo che non venga interpretato come JavaScript. –

+0

Questo potrebbe essere utile: http://stackoverflow.com/questions/7816500/embed-xml-in-html-firefox-compatible – MikeB

risposta

25

Finché il codice XML non contiene </script> ovunque, è possibile inserirlo nei tag di script con un attributo personalizzato type (e nessuna sezione CDATA). Assegna al tag script un attributo id in modo da poter recuperare il contenuto.

<script id="myxml" type="text/xmldata"> 
    <x> 
     <y z="foo"> 

     </y> 
    </x> 
</script>​ 

... 

<script> alert(document.getElementById('myxml').innerHTML);​ </script> 

http://jsfiddle.net/hJuPs/

+0

L'impostazione type = "text/xml" era il trucco che mi mancava! Grazie! – amcdnl

+0

@AustinMcDaniel nota che non deve essere "text/xml" ... deve solo * non * essere "text/javascript" –

+2

E inoltre notare che il tipo è "text/javascript" di default in HTML5 se omessa. –

1

ne dite:

<script> 
    var xml = '<element> \ 
       <childElement attr="value" /> \ 
       </element>'; 
</script> 

che permetta di incorporare facilmente il codice XML per il successivo recupero in javascript.

-1

Secondo il tutorial qui, è possibile utilizzare il tag 'xml' per incorporare dati XML all'interno di un documento HTML. Tuttavia, questo visualizza implicitamente i dati XML nel browser.

http://www.expertrating.com/courseware/XMLCourse/XML-Embedding-HTML-8.asp

+0

Secondo il link qui, è stato deprecato. Tuttavia, non ho mai visto questo sito prima, né ho sentito parlare del tag prima di vedere questa domanda sullo stack. http://www.html-5.com/changes/deprecated/xml-tag.html – jwp