Ho bisogno di inserire del contenuto HTML in un documento XML, è possibile o il contenuto HTML dovrebbe essere, per esempio, codificato in BASE64 o qualcos'altro?È possibile inserire contenuto HTML nel documento XML?
risposta
È possibile includere contenuto HTML. Una possibilità è la codifica in BASE64 come hai menzionato.
Un altro potrebbe utilizzare i tag CDATA
.
Esempio con CDATA
:
<xml>
<title>Your HTML title</title>
<htmlData><![CDATA[<html>
<head>
<script/>
</head>
<body>
Your HTML's body
</body>
</html>
]]>
</htmlData>
</xml>
Nota:
sequenza di caratteri apertura di CDATA: <![CDATA[
sequenza di caratteri di chiusura di CDATA: ]]>
Lo scopo della codifica base64 è prendere dati binari ed essere in grado di persistere in una stringa. Questo vantaggio ha un costo, un aumento delle dimensioni del risultato (penso che sia un rapporto 4: 3). Ci sono due soluzioni. Se sai che i dati saranno ben formati XML, includilo direttamente. L'altra, un'opzione migliore, è quella di includere l'HTML in una sezione CDATA all'interno di un elemento all'interno dell'XML.
fino a quando il contenuto HTML non deve contenere un elemento CDATA
, è possibile contenere l'HTML in un elemento CDATA
, altrimenti sarà necessario sfuggire alle entità XML.
<element><![CDATA[<p>your html here</p>]]></element>
VS
<element><p>your html here</p></element>
Si prega di vedere questo.
Il testo all'interno di una sezione CDATA verrà ignorato dal parser.
http://www.w3schools.com/xml/dom_cdatasection.asp
Questo è vi aiuterà a capire le basi su XML
- 1. Errore nel documento XML (2,2)
- 2. Inserire l'immagine nel file xml utilizzando C#
- 3. Come inserire immagini nel documento .rnw
- 4. Inserire la data nel documento di google
- 5. Come sostituire il contenuto nel documento docx modello e Open XML SDK 2.0 (09 agosto)?
- 6. Come inserire XUL in un documento XHTML
- 7. errore di deserializzazione nel documento XML (1,1)
- 8. carattere non valido nel documento xml
- 9. Interruzioni di riga nel documento XML xmlwriter
- 10. È possibile inserire un tag di commento in un XML usando simplexml?
- 11. Sostituisci il contenuto dinamico nel file XML
- 12. Errore di analisi XML - Contenuto extra alla fine del documento
- 13. Come posso inserire caratteri non ASCII utilizzando httplib quando il tipo di contenuto è "application/xml"
- 14. È possibile inserire file binari nel repository di nexus?
- 15. Il documento XML di analisi Java fornisce "Contenuto non consentito nel prologo". error
- 16. Come convertire String con contenuto in formato XML nel documento JDom
- 17. css nel documento XSL
- 18. Come funziona l'analisi di un documento HTML/XML?
- 19. Looping attraverso documento XML
- 20. Quale documento HTML?
- 21. XSLT: trasformazione in contenuto non-xml?
- 22. Incorporamento di un documento xml all'interno di una stringa xml
- 23. Creazione di un documento XML con BeautifulSoup
- 24. È possibile inserire una frase if?
- 25. HTML - Carattere newline nel contenuto DIV modificabile?
- 26. Ricerca dell'ordine nodo nel documento XML in SQL Server
- 27. Utilizzando un DTD, è possibile dichiarare un elemento che consente qualsiasi contenuto XML?
- 28. Come memorizzare uno snippet HTML e inserirlo successivamente nel documento?
- 29. Documento XML a stringa?
- 30. Incorporamento di XML in HTML
+1 CDATA è il modo migliore IMO perché mantiene le cose leggibile, e non arriva con inevitabili 33% delle Base64 aggiuntivo peso –
ricorda che XML e CDATA preservano lo spazio bianco. – zzzzBov
Ho deciso di utilizzare BASE64, perché consente di salvare i dati con una precisione del 100%, quando CDATA e l'escaping aggiungeranno spazi bianchi extra se formattati. Inoltre l'aggiunta di CDATA aggiungerebbe ulteriore complessità e richiederebbe una sorta di prescansione HTML, nel caso in cui l'HTML contenesse l'elemento CDATA ... – newbie