Я занимаюсь разработкой очень простой системы CMS для веб-сайта моего брата.
Я использую Classic ASP, и контент хранится в файле XML, и я создал простую веб-форму с редактором форматированного текста javascript, чтобы он мог редактировать контент. Это означает, что в файле XML будет сохранен HTML-код. Я уверен, что это всегда будет правильно сформированный XHTML.
например.
<content>
<item id="20110611103415" sort="1" status="P">
<description><strong>18th</strong> century <span style="font-style: italic;">mahogany </span>chest of drawers</description>
</item>
</content>
При отображении этого на веб-странице все работает нормально, и пока я использую <xsl:copy-of select="description/node()"/>
в файле XSLT, HTML-код отображается так, как и должен.
Проблема возникает, когда я пытаюсь сохранить этот HTML обратно в файл XML из формы. Я использую следующий код для этого:
set objXML = Server.CreateObject("MSXML2.DOMDocument")
objXML.async = false
strXMLFile = server.MapPath("content.xml")
objXML.load strXMLFile
Set objRoot = objXML.documentElement
Set objItem = objRoot.SelectSingleNode("item[@id='" & strID & "']")
Set objField = objSaleItem.SelectSingleNode("description")
objField.text = Request.Form("description")
objXML.save strXMLFile
Когда я это делаю, в моем XML-файле получается следующее:
<description><strong>18th</strong> century <span style="font-style: italic;">mahogany </span>chest of drawers</description>
Я искал в Интернете, пытаясь выяснить, как я могу предотвратить кодирование HTML таким образом, но я нигде не могу найти решение.
Если кто-нибудь сможет мне помочь, я буду очень признателен.
Спасибо
Andy