Мне нужно вставить HTML-содержимое в XML-документ, возможно ли это, или должен ли HTML-контент быть, например, закодирован в BASE64 или с чем-то еще подобным?
Возможно ли вставить HTML-контент в документ XML?
Ответ 1
Вы можете включить HTML-контент. Одна из возможностей заключается в кодировании в BASE64, как вы уже упоминали.
Другие могут использовать теги CDATA
.
Пример с помощью CDATA
:
<xml>
<title>Your HTML title</title>
<htmlData><![CDATA[<html>
<head>
<script/>
</head>
<body>
Your HTML body
</body>
</html>
]]>
</htmlData>
</xml>
Обратите внимание:
Последовательность символов открытия CDATA: <![CDATA[
Последовательность символов CDATA: ]]>
Ответ 2
пока ваш контент html не должен содержать элемент CDATA
, вы можете содержать HTML в элементе CDATA
, иначе вам придется избегать объектов XML.
<element><![CDATA[<p>your html here</p>]]></element>
VS
<element><p>your html here</p></element>
Ответ 3
Цель кодирования BASE64 состоит в том, чтобы принимать двоичные данные и иметь возможность сохранять это в строке. Это преимущество приносит стоимость, увеличение размера результата (я думаю, это соотношение 4 - 3). Существует два решения. Если вы знаете, что данные будут хорошо сформированы XML, включите его напрямую. Другой, лучший вариант - включить HTML в раздел CDATA внутри элемента XML.
Ответ 4
Пожалуйста, ознакомьтесь с этим.
Текст внутри секции CDATA будет игнорироваться синтаксическим анализатором.
http://www.w3schools.com/xml/dom_cdatasection.asp
Это поможет вам понять основы XML