1. 首先, 在 xsl 套版前, 把系統時間印出來看看.
2. 在 300筆資料的情況下, 光這一行 transformNode() 就掉了24秒, 真是太令人吃驚!!!
3. 解決後, 一樣 300筆的資料量, 只用掉1秒.
解決辦法:
原本 create object 方式
set oxsl = server.createObject("microsoft.XMLDOM")
修改為
set oxsl = server.createObject("Msxml2.DOMDocument.6.0")
效能就變好了, 只是 Msxml2.DOMDocument.6.0 有一些問題, 就是他的 xsl include 外部檔案好像預設是 disable 的, 再透過下面這幾行來設定即可:
oXSL.resolveExternals = True
oXSL.async = False
oXSL.setProperty "AllowDocumentFunction", True
oXSL.setProperty "AllowXsltScript", True
附註:
1. Msxml2.DOMDocument.6.0 和 microsoft.XMLDOM 在 xsl 裡的空格和Enter 定義不同, 套出來的結果會有些許差異.
2. 如果要使用 "Msxml2.XSLTemplate.6.0" 來套版, 那 XSL 的定義必須是使用 oxsl = server.createObject("Msxml2.FreeThreadedDOMDocument.6.0")
相關文章:
Using ASP with XSLT Processor and Template Objects
http://msdn.microsoft.com/en-us/library/windows/desktop/ms761371(v=vs.85).aspxUsing ASP with XSLT Processor and Template Objects
沒有留言:
張貼留言