Разработвам много проста CMS система за уеб сайта на моя брат.
Използвам Classic ASP и съдържанието се съхранява в XML файл и създадох прост уеб формуляр с редактор с богат javascript текст, за да може той да редактира съдържание. Това означава, че в XML файла ще има записан HTML код. Убеден съм, че това винаги ще бъде добре оформен XHTML.
e.g.
<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 кодирането по този начин, но никъде не мога да намеря решение.
Ако някой може да ми помогне ще съм много благодарен.
Благодаря Анди