Можно ли вставить содержимое 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>&lt;p&gt;your html here&lt;/p&gt;</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 .

Другие вопросы по тегам