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