在不支援FSO的服務器上使用XMLDOM創建HTML檔

穩萊

在不支援FSO的服務器上使用XMLDOM創建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規范的文本字串

當然需要有對目錄的寫權限

 

 給當前日誌評分:
Loading Vote
正在讀取評分資料...


文章來自: Tank部落格
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相關日誌:

評論: 0 | 引用: 0 | 查看次數: -
發表評論
暱 稱:
密 碼: 遊客發言不需要密碼.
內 容:
驗證碼: 驗證碼
選 項:
雖然發表評論不用註冊,但是為了保護您的發言權,建議您註冊帳號.