梦的天行者

Humormind、Sam Tsai、2009-05-27 21:45:57 日志分类:系统程序

晴天 開心  fso生成xml文件应用及乱码问题解决.

bcastr4.0通过xml文件来读取flash的数据,由于本例中数据在后台是存在access数据库中,用fso或者xmldom都可以生成xml文件,这里我们使用比较流行的fso组件生成,大部分服务器都支持fso.
首先看下要生成的xml文件
 

xml 語法
 
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <data>
  3.     <channel>
  4.         <item>
  5.             <link>http://www.ruochi.com</link>
  6.             <image>../Include/images/image1.jpg</image>
  7.             <title>Bell Tower,Xi'an,China</title>
  8.         </item>
  9.         <item>
  10.             <link>http://www.ruochigroup.com</link>
  11.             <image>../Include/images/image2.jpg</image>
  12.             <title>Greater Wild Goose Pagoda,Xi'an,China</title>
  13.         </item>
  14.         <item>
  15.             <link>http://www.ruochi.com</link>
  16.             <image>../Include/images/image3.jpg</image>
  17.             <title>Terra Cotta Warriors,Xi'an,China</title>
  18.         </item>
  19.         <item>
  20.             <link>http://www.ruochigroup.com</link>
  21.             <image>../Include/images/image4.jpg</image>
  22.             <title>The Forest of Steles ,Xi'an,China</title>
  23.         </item>
  24.         <item>
  25.             <link>http://www.ruochi.com</link>
  26.             <image>../Include/images/image5.jpg</image>
  27.             <title>The Qian Tomb,Xi'an,China</title>
  28.         </item>
  29.     </channel>
  30.     <config>    
  31.         <roundCorner>8</roundCorner>
  32.         <autoPlayTime>8</autoPlayTime>
  33.         <isHeightQuality>false</isHeightQuality>
  34.         <blendMode>normal</blendMode>
  35.         <transDuration>1</transDuration>
  36.         <windowOpen>_self</windowOpen>
  37.         <btnSetMargin>auto 5 5 auto</btnSetMargin>
  38.         <btnDistance>20</btnDistance>
  39.         <titleBgColor>0x66a54a</titleBgColor>
  40.         <titleTextColor>0xffffff</titleTextColor>
  41.         <titleBgAlpha>.75</titleBgAlpha>
  42.         <titleMoveDuration>1</titleMoveDuration>
  43.         <btnAlpha>.7</btnAlpha> 
  44.         <btnTextColor>0xffffff</btnTextColor>   
  45.         <btnDefaultColor>0x1B3433</btnDefaultColor>
  46.         <btnHoverColor>0xff9900</btnHoverColor>
  47.         <btnFocusColor>0xff6600</btnFocusColor>
  48.         <changImageMode>click</changImageMode>
  49.         <isShowBtn>true</isShowBtn>
  50.         <isShowTitle>true</isShowTitle>
  51.         <scaleMode>noBorder</scaleMode>
  52.         <transform>blur</transform>
  53.         <isShowAbout>true</isShowAbout>
  54.         <titleFont>微软雅黑</titleFont>
  55.     </config>
  56. </data>

 

接下来就是一个asp片断,用fso方法,只需存为asp文件,插入要放flash的页面即可.
 

vb 語法
 
  1.  
  2. <% 
  3. dim xmlfile,fso,Myfile
  4. sql="select * from XX_Flash order by picorder asc"  
  5. set rs=server.createobject("adodb.recordset")   
  6. rs.open sql,conn,1,3  
  7.   
  8. '生成xml   
  9. xmlfile=server.mappath("../Include/bcastr.xml")   
  10. Set fso = CreateObject("Scripting.FileSystemObject")   
  11. Set MyFile = fso.CreateTextFile(xmlfile,True,-1)   
  12. MyFile.WriteLine("<?xml version=""1.0"" encoding=""UTF-8""?>")   
  13. MyFile.WriteLine("<data>")
  14. MyFile.WriteLine("<channel>")    
  15.   
  16. rs.movefirst  '记录指针移至第一条记录上   
  17.   
  18. while not rs.eof    '当指针未到结尾时执行此循环   
  19. MyFile.WriteLine("<item>"
  20. MyFile.WriteLine("<link>" & rs("piclink") & "</link>")  
  21. MyFile.WriteLine("<image>" & rs("pic") & "</image>"
  22. MyFile.WriteLine("<title>" & rs("title") & "</title>"
  23. MyFile.WriteLine("</item>")   
  24.   
  25. ' 输出到文件   
  26.   
  27. rs.movenext  '指针移至下一条记录   
  28.   
  29. wend   
  30. rs.close   
  31. Set rs = Nothing   
  32. MyFile.WriteLine("</channel>")   
  33. MyFile.WriteLine("<config>"
  34. MyFile.WriteLine("<roundCorner>8</roundCorner>")
  35. MyFile.WriteLine("<autoPlayTime>8</autoPlayTime>")   
  36. MyFile.WriteLine("<isHeightQuality>false</isHeightQuality>")
  37. MyFile.WriteLine("<blendMode>normal</blendMode>"
  38. MyFile.WriteLine("<transDuration>1</transDuration>")
  39. MyFile.WriteLine("<windowOpen>_self</windowOpen>")   
  40. MyFile.WriteLine("<btnSetMargin>auto 5 5 auto</btnSetMargin>")
  41. MyFile.WriteLine("<btnDistance>20</btnDistance>"
  42. MyFile.WriteLine("<titleBgColor>0x66a54a</titleBgColor>")
  43. MyFile.WriteLine("<titleTextColor>0xffffff</titleTextColor>")   
  44. MyFile.WriteLine("<titleBgAlpha>.75</titleBgAlpha>")
  45. MyFile.WriteLine("<titleMoveDuration>1</titleMoveDuration>"
  46. MyFile.WriteLine("<btnAlpha>.7</btnAlpha>")
  47. MyFile.WriteLine("<btnTextColor>0xffffff</btnTextColor>"
  48. MyFile.WriteLine("<btnDefaultColor>0x1B3433</btnDefaultColor>")
  49. MyFile.WriteLine("<btnHoverColor>0xff9900</btnHoverColor>")   
  50. MyFile.WriteLine("<btnFocusColor>0xff6600</btnFocusColor>")
  51. MyFile.WriteLine("<changImageMode>click</changImageMode>"
  52. MyFile.WriteLine("<isShowBtn>true</isShowBtn>")
  53. MyFile.WriteLine("<isShowTitle>true</isShowTitle>")   
  54. MyFile.WriteLine("<scaleMode>noBorder</scaleMode>")
  55. MyFile.WriteLine("<transform>blur</transform>"
  56. MyFile.WriteLine("<isShowAbout>true</isShowAbout>")
  57. MyFile.WriteLine("<titleFont>微软雅黑</titleFont>")
  58. MyFile.WriteLine("</config>")  
  59. MyFile.WriteLine("</data>")
  60. MyFile.Close   
  61. %>  

这样就在include文件夹下生成bcastr.xml文件,每次刷新都会盖掉上次的.
有的人在以上环节后发现页面上的flash中的中文字会乱码,原因是fso不支持utf-8。只支持ansi、unicode等
Set MyFile = fso.CreateTextFile(xmlfile,True,-1)  这句的第三个参数就非常重要-1是boolean值的true;
下面是对CreateTextFile的参数的详细说明:
object.CreateTextFile(filename[, overwrite[, unicode]])
参数
object
必选项。应为 FileSystemObject 或 Folder 对象的名称。
filename
必选项。指明所要创建文件的字符串表达式。
overwrite
可选项。Boolean 值,指明能否覆盖已有文件。如果文件可以覆盖,则值为 true ,否则为 false。如果忽略,则已有文件不能被覆盖。
unicode
可选项。Boolean 值,指明文件是否以 Unicode 或 ASCII 文件方式创建。如果文件作为 Unicode 文件创建,则值为 true ,如果作为 ASCII 文件创建,则为 false。如果忽略,则假定为 ASCII 文件。

 

● 部分日志内容截取自网络, 若有注解不清或侵害到您的权益请留言告知, 定当立即修正或删除.
Share this post:

载入评论资料中,请稍后…
正在加载日志评论签写框,请稍后……
站内搜寻

封存日志
Google 广告
行事日历
载入行事日历模组中,请稍后...
会员登入
载入会员登入模组中,请稍后...
最新评论
{$SideComment}
最新留言
{$SideGB}