使用XMLDOM創建HTML文件有些朋友的主機不支持FSO,但又要生成HTML文件,是不是有些為難呢?
而現今支持ASP的主機一般都採用微軟OS,而這些OS一般都是win2kserver及以上系統,就算不安裝XMLPARSER同樣會支持XMLparser解析
而XMLDOM也有個.SAVE方法.通過這樣我們就可以來在不FSO的主機上生成HTML文件了.
首先,說明一點.注意HTML與XML代碼的規範化.
HTML
<inputname=t1>
這是沒有問題的,標準的寫法應該是<inputname="t1">
但是如果是xml裡
<inputname=t1>肯定是錯誤的,因為XML的節點屬性值要求在引號之內.
同樣<inputname="t1">也是錯誤的,因為XML需要封閉的結點,你可以寫成
<inputname="t1"></input>,但<inputname="t1"></Input>也是錯誤的,因為XML區分大小寫
對於input這個XML節點,它的TEXT值為空,從而可以寫成<inputname="t1"/>
這樣就符合XML規範了.
再比如html裡的<br>在XML裡要寫成<br></br>或<br/>
html裡的image
<imagesrc="test.gif">
在XML裡要寫<imagesrc="test.gif"/>
還有特殊字符",>,<,',&,節點不允許交叉等等,先說這麼多了,至於XML文檔的規範化不是本文重點,請參閱相關資料.
如何用fso生成一個html文件這裡也就不說了.但是如果用FSO,你的意原是要生成這樣的HTML文件
<html>
<head>
<title>test</title>
<body>
<p><imgsrc="test.gif">
</body>
</html>
這裡少寫了</HEAD>,對於HTML來說,瀏覽器可以容忍.
但是要生成具有XML規範的文檔,就必須是
<html>
<head>
<title>test</title>
</head>
<body>
<p><imgsrc="test.gif"/></p>
</body>
</html>
如何將這一段XML格式化的文檔存入服務器呢?
dimxmlString
xmlString="<html>"&chr(10)&"<head>"&chr(10)&"<title>test</title>"&chr(10)&"</head>"&chr(10)&"<body>"&chr(10)&"<p><imgsrc="test.gif"/></p>"&chr(10)&"</body>"&chr(10)&"</html>"
dimxmlDoc
setxmlDoc=server.createObject("Msxml2.DOMDocument")
xmlDoc.loadXml(xmlString)
xmlDoc.save(server.mappath("test.htm"))
setxmlDoc=nothing
這裡用到了xmlDOM.loadXml()方法,它加載一段XMLDOCUMENT到對像中.
為什麼要大家將準備生成的HTML寫成XML規範的的原因也在於此,因為LOADXML()方法只支持符合XML規範的文本字串