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