{"id":165,"date":"2008-11-30T02:35:54","date_gmt":"2008-11-29T18:35:54","guid":{"rendered":""},"modified":"2014-02-27T22:57:28","modified_gmt":"2014-02-27T14:57:28","slug":"xml%e7%bc%93%e5%ad%98%e7%b1%bb","status":"publish","type":"post","link":"http:\/\/www.xiaoyebailong.com\/index.php\/2008\/11\/30\/165.htm","title":{"rendered":"xml\u7f13\u5b58\u7c7b"},"content":{"rendered":"<p><font color=\"#008000\">\u8bfb\u53d6\u673a\u5236\uff1a\u81ea\u52a8\u5224\u65ad\u6709\u65e0\u7f13\u5b58\u4e86\u7684xml\u6587\u4ef6\uff0c\u5f53xml\u6587\u4ef6\u5b58\u5728\u6570\u636e\uff0c\u4fa7\u4ecexml\u83b7\u53d6\u6570\u636e\uff0c\u53cd\u4e4b\u4ece\u6570\u636e\u5e93\u8bfb\u53d6\uff1b<br \/>\n\u7f13\u5b58\u673a\u5236\uff1a\u6839\u636exml\u6587\u4ef6\u751f\u5b58\u65f6\u95f4\u548c\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u7f13\u5b58\u65f6\u95f4\u5224\u65ad\u7f13\u5b58\u6709\u65e0\u8fc7\u671f\uff0c\u8fc7\u671f\u4fa7\u751f\u5b58\u65b0\u7684xml\u6587\u4ef6\uff1b<\/p>\n<p>\u6709\u6548\u51cf\u5c11\u6570\u636e\u5e93\u67e5\u8be2\u8bfb\u53d6\u6b21\u6570\uff0c\u7f13\u5b58\u6570\u636e\u91cf\u5c0f\u8bfb\u53d6\u66f4\u5feb<\/p>\n<p><\/font><font color=\"#ff0000\">\u4fee\u6539\u4e86\u4e00\u4e0b\uff0c\u52a0\u4e86\u4e24\u4e2a\u65b9\u6cd5\uff0c\u4f7f\u7528\u66f4\u65b9\u4fbf<\/font><\/p>\n<p><font color=\"#ff0000\"><\/p>\n<table cellspacing=\"0\" cellpadding=\"6\" width=\"95%\" align=\"center\" border=\"0\" style=\"border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted\">\n<tbody>\n<tr>\n<td bgcolor=\"#f3f3f3\" style=\"word-wrap: break-word\"><font style=\"font-weight: bold; color: #990000\">\u4ee5\u4e0b\u662f\u5f15\u7528\u7247\u6bb5\uff1a<\/font><br \/>\n            \u4ee3\u7801: <br \/>\n            &lt;% <br \/>\n            Rem&nbsp;xml\u7f13\u5b58\u7c7b <br \/>\n            &rsquo;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; <br \/>\n            &rsquo;\u8f6c\u8f7d\u7684\u65f6\u5019\u8bf7\u4fdd\u7559\u7248\u6743\u4fe1\u606f <br \/>\n            &rsquo;\u4f5c\u8005:\u2570\u2465\u6708\u306e\u96e8\u256e <br \/>\n            &rsquo;\u535a\u5ba2:&nbsp;http:\/\/chthp.cnblogs.com\/ <br \/>\n            &rsquo;\u7248\u672c:ver1.0 <br \/>\n            &rsquo;\u672c\u7c7b\u90e8\u5206\u501f\u9274&nbsp;walkmanxml\u6570\u636e\u7f13\u5b58\u7c7b\uff0c\u4f7f\u7528\u66f4\u4e3a\u65b9\u4fbf&nbsp;\u6b22\u8fce\u5404\u4f4d\u4ea4\u6d41\u8fdb\u6b65 <br \/>\n            &rsquo;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; <br \/>\n            Class&nbsp;XmlCacheCls <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;m_DataConn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u6570\u636e\u6e90,\u5fc5\u987b\u5df2\u7ecf\u6253\u5f00 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;m_CacheTime&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u7f13\u5b58\u65f6\u95f4\uff0c\u5355\u4f4d\u79d2&nbsp;&nbsp;\u9ed8\u8ba410\u5206\u949f <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;m_XmlFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;xml\u8def\u5f84\uff0c\u7528\u7edd\u5bf9\u5730\u5740,\u4e0d\u9700\u8981\u52a0\u6269\u5c55\u540d <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;m_Sql&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;SQL\u8bed\u53e5 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;m_SQLArr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;(\u53ea\u8bfb)\u8fd4\u56de\u7684\u6570\u636e\u6570\u7ec4 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;m_ReadOn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;(\u53ea\u8bfb)\u8fd4\u56de\u8bfb\u53d6\u65b9\u5f0f&nbsp;1-\u6570\u636e\u5e93&nbsp;2-xml&nbsp;\u68c0\u6d4b\u7528 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u7c7b\u7684\u5c5e\u6027========================================= <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u6570\u636e\u6e90 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Public&nbsp;Property&nbsp;Set&nbsp;&nbsp;Conn(v) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;m_DataConn&nbsp;=&nbsp;v&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Property <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Public&nbsp;Property&nbsp;Get&nbsp;&nbsp;Conn&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Conn&nbsp;=&nbsp;m_DataConn&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Property <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u7f13\u5b58\u65f6\u95f4 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Public&nbsp;Property&nbsp;Let&nbsp;&nbsp;CacheTime(v) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_CacheTime&nbsp;=&nbsp;v&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Property <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Public&nbsp;Property&nbsp;Get&nbsp;&nbsp;CacheTime <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CacheTime&nbsp;=&nbsp;m_CacheTime&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Property <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&rsquo;xml\u8def\u5f84\uff0c\u7528\u7edd\u5bf9\u5730\u5740 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Public&nbsp;Property&nbsp;Let&nbsp;&nbsp;XmlFile(v) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_XmlFile&nbsp;=&nbsp;v&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Property <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Public&nbsp;Property&nbsp;Get&nbsp;&nbsp;XmlFile <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlFile&nbsp;=&nbsp;m_XmlFile&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Property <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&rsquo;Sql\u8bed\u53e5 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Public&nbsp;Property&nbsp;Let&nbsp;&nbsp;Sql(v) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_Sql&nbsp;=&nbsp;v&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Property <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Public&nbsp;Property&nbsp;Get&nbsp;&nbsp;Sql&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sql&nbsp;=&nbsp;m_Sql&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Property <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u8fd4\u56de\u8bb0\u5f55\u6570\u7ec4 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Public&nbsp;Property&nbsp;Get&nbsp;&nbsp;SQLArr&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SQLArr&nbsp;=&nbsp;m_SQLArr&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Property <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u8fd4\u56de\u8bfb\u53d6\u65b9\u5f0f <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Public&nbsp;Property&nbsp;Get&nbsp;&nbsp;ReadOn&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReadOn&nbsp;=&nbsp;m_ReadOn&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Property <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u7c7b\u7684\u6790\u6784========================================= <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;Sub&nbsp;Class_Initialize()&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u521d\u59cb\u5316\u7c7b <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_CacheTime=60*10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u9ed8\u8ba4\u7f13\u5b58\u65f6\u95f4\u4e3a10\u5206\u949f <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Sub <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;Sub&nbsp;Class_Terminate()&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u91ca\u653e\u7c7b <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Sub <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u7c7b\u7684\u516c\u5171\u65b9\u6cd5========================================= <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Rem&nbsp;\u8bfb\u53d6\u6570\u636e <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Public&nbsp;Function&nbsp;ReadData <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;FSOExistsFile(m_XmlFile)&nbsp;Then&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u5b58\u5728xml\u7f13\u5b58\uff0c\u76f4\u63a5\u4ecexml\u4e2d\u8bfb\u53d6 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReadDataFromXml <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_ReadOn=2 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReadDataFromDB <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_ReadOn=1 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Function <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Rem&nbsp;\u5199\u5165XML\u6570\u636e <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Public&nbsp;Function&nbsp;WriteDataToXml <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;FSOExistsFile(m_XmlFile)&nbsp;Then&nbsp;&nbsp;&nbsp;&rsquo;\u5982\u679cxml\u672a\u8fc7\u671f\u5219\u76f4\u63a5\u9000\u51fa <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;Not&nbsp;isXmlCacheExpired(m_XmlFile,m_CacheTime)&nbsp;Then&nbsp;&nbsp;Exit&nbsp;Function&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;rs <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;xmlcontent <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;k <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlcontent&nbsp;=&nbsp;&quot;&quot; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlcontent&nbsp;=&nbsp;xmlcontent&nbsp;&amp;&nbsp;&quot;&lt;?xml&nbsp;version=&quot;&quot;1.0&quot;&quot;&nbsp;encoding=&quot;&quot;gb2312&quot;&quot;?&gt;&quot;&nbsp;&amp;&nbsp;vbnewline <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlcontent&nbsp;=&nbsp;xmlcontent&nbsp;&amp;&nbsp;&quot;&nbsp;&lt;root&gt;&quot;&nbsp;&amp;&nbsp;vbnewline <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k=0 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;Rs&nbsp;=&nbsp;Server.CreateObject(&quot;Adodb.Recordset&quot;) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rs.open&nbsp;m_sql,m_DataConn,1 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;While&nbsp;Not&nbsp;rs.eof <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlcontent&nbsp;=&nbsp;xmlcontent&nbsp;&amp;&nbsp;&quot;&nbsp;&nbsp;&lt;item&nbsp;&quot; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;Each&nbsp;field&nbsp;In&nbsp;rs.Fields <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlcontent&nbsp;=&nbsp;xmlcontent&nbsp;&amp;&nbsp;field.name&nbsp;&amp;&nbsp;&quot;=&quot;&quot;&quot;&nbsp;&amp;&nbsp;XMLStringEnCode(field.value)&nbsp;&amp;&nbsp;&quot;&quot;&quot;&nbsp;&quot; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs.movenext <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k=k+1 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlcontent&nbsp;=&nbsp;xmlcontent&nbsp;&amp;&nbsp;&nbsp;&quot;&gt;&lt;\/item&gt;&quot;&nbsp;&amp;&nbsp;vbnewline <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wend <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs.close <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;rs&nbsp;=&nbsp;Nothing <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlcontent&nbsp;=&nbsp;xmlcontent&nbsp;&amp;&nbsp;&quot;&nbsp;&lt;\/root&gt;&quot;&nbsp;&amp;&nbsp;vbnewline <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;folderpath <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;folderpath&nbsp;=&nbsp;Trim(left(m_XmlFile,InstrRev(m_XmlFile,&quot;\\&quot;)-1)) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call&nbsp;CreateDIR(folderpath&amp;&quot;&quot;)&nbsp;&rsquo;\u521b\u5efa\u6587\u4ef6\u5939 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WriteStringToXMLFile&nbsp;m_XmlFile,xmlcontent <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Function <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u7c7b\u7684\u79c1\u6709\u65b9\u6cd5========================================= <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Rem&nbsp;\u4eceXml\u6587\u4ef6\u8bfb\u53d6\u6570\u636e <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;Function&nbsp;ReadDataFromXml&nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;SQLARR()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u6570\u7ec4 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;XmlDoc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;XmlDoc\u5bf9\u8c61 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;objNode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u5b50\u8282\u70b9 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;ItemsLength&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u5b50\u8282\u70b9\u7684\u957f\u5ea6 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;AttributesLength&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u5b50\u8282\u70b9\u5c5e\u6027\u7684\u957f\u5ea6 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;XmlDoc=Server.CreateObject(&quot;Microsoft.XMLDOM&quot;) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlDoc.Async=False&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlDoc.Load(m_XmlFile) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;objNode=XmlDoc.documentElement&nbsp;&nbsp;&rsquo;\u83b7\u53d6\u6839\u8282\u70b9 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ItemsLength=objNode.ChildNodes.length&nbsp;&nbsp;&rsquo;\u83b7\u53d6\u5b50\u8282\u70b9\u7684\u957f\u5ea6 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;items_i=0&nbsp;To&nbsp;ItemsLength-1 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttributesLength=objNode.childNodes(items_i).Attributes.length&nbsp;&rsquo;\u83b7\u53d6\u5b50\u8282\u70b9\u5c5e\u6027\u7684\u957f\u5ea6 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;Attributes_i=0&nbsp;To&nbsp;AttributesLength-1 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReDim&nbsp;Preserve&nbsp;SQLARR(AttributesLength-1,items_i) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SQLArr(Attributes_i,items_i)&nbsp;=&nbsp;objNode.childNodes(items_i).Attributes(Attributes_i).Nodevalue <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;XmlDoc&nbsp;=&nbsp;Nothing&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_SQLArr&nbsp;=&nbsp;SQLARR <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Function <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Rem&nbsp;\u4ece\u6570\u636e\u5e93\u8bfb\u53d6\u6570\u636e <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;Function&nbsp;ReadDataFromDB <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;rs <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;SQLARR() <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;k <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k=0 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;Rs&nbsp;=&nbsp;Server.CreateObject(&quot;Adodb.Recordset&quot;) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rs.open&nbsp;m_sql,m_DataConn,1 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;Not&nbsp;(rs.eof&nbsp;and&nbsp;rs.bof)&nbsp;Then <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;While&nbsp;Not&nbsp;rs.eof <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;fieldlegth <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fieldlegth&nbsp;=&nbsp;rs.Fields.count <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReDim&nbsp;Preserve&nbsp;SQLARR(fieldlegth,k) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;fieldi <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;fieldi&nbsp;=&nbsp;0&nbsp;To&nbsp;fieldlegth-1 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SQLArr(fieldi,k)&nbsp;=&nbsp;rs.Fields(fieldi).value <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs.movenext <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k=k+1 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wend <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs.close <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;rs&nbsp;=&nbsp;Nothing&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_SQLArr&nbsp;=&nbsp;SQLArr <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Function <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&rsquo;\u7c7b\u7684\u8f85\u52a9\u79c1\u6709\u65b9\u6cd5========================================= <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Rem&nbsp;\u5199xml\u6587\u4ef6 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;Sub&nbsp;WriteStringToXMLFile(filename,str) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;fs,ts <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;fs=&nbsp;createobject(&quot;scripting.filesystemobject&quot;) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;Not&nbsp;IsObject(fs)&nbsp;Then&nbsp;Exit&nbsp;Sub&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;ts=fs.OpenTextFile(filename,2,True) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ts.writeline(str) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ts.close <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;ts=Nothing <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;fs=Nothing <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Sub <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Rem&nbsp;\u5224\u65adxml\u7f13\u5b58\u662f\u5426\u5230\u671f <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;Function&nbsp;isXmlCacheExpired(file,seconds) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;filelasttime <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filelasttime&nbsp;=&nbsp;FSOGetFileLastModifiedTime(file) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;DateAdd(&quot;s&quot;,seconds,filelasttime)&nbsp;&lt;&nbsp;Now&nbsp;Then <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isXmlCacheExpired&nbsp;=&nbsp;True&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isXmlCacheExpired&nbsp;=&nbsp;False <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Function <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Rem&nbsp;\u5f97\u5230\u6587\u4ef6\u7684\u6700\u540e\u4fee\u6539\u65f6\u95f4 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;Function&nbsp;FSOGetFileLastModifiedTime(file) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;fso,f,s&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;fso=CreateObject(&quot;Scripting.FileSystemObject&quot;)&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;f=fso.GetFile(file)&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FSOGetFileLastModifiedTime&nbsp;=&nbsp;f.DateLastModified <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;f&nbsp;=&nbsp;Nothing <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;fso&nbsp;=&nbsp;Nothing&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Function&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Rem&nbsp;\u6587\u4ef6\u662f\u5426\u5b58\u5728 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Public&nbsp;Function&nbsp;FSOExistsFile(file) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;fso <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;fso&nbsp;=&nbsp;Server.CreateObject(&quot;Scripting.FileSystemObject&quot;) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;fso.FileExists(file)&nbsp;Then <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FSOExistsFile&nbsp;=&nbsp;true <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FSOExistsFile&nbsp;=&nbsp;false <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;fso&nbsp;=&nbsp;nothing <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Function&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Rem&nbsp;xml\u8f6c\u4e49\u5b57\u7b26 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;Function&nbsp;XMLStringEnCode(str) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;str&amp;&quot;&quot;&nbsp;=&nbsp;&quot;&quot;&nbsp;Then&nbsp;XMLStringEnCode=&quot;&quot;:Exit&nbsp;Function <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;Replace(str,&quot;&lt;&quot;,&quot;&amp;lt;&quot;) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;Replace(str,&quot;&gt;&quot;,&quot;&amp;gt;&quot;) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;Replace(str,&quot;&rsquo;&quot;,&quot;&amp;apos;&quot;) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;Replace(str,&quot;&quot;&quot;&quot;,&quot;&quot;&quot;) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;Replace(str,&quot;&amp;&quot;,&quot;&amp;&quot;) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XMLStringEnCode&nbsp;=&nbsp;str <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Function&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Rem&nbsp;\u521b\u5efa\u6587\u4ef6\u5939 <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;function&nbsp;CreateDIR(byval&nbsp;LocalPath) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;On&nbsp;&nbsp;Error&nbsp;&nbsp;Resume&nbsp;&nbsp;Next&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;i,FileObject,patharr,path_level,pathtmp,cpath <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LocalPath&nbsp;=&nbsp;Replace(LocalPath,&quot;\\&quot;,&quot;\/&quot;) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;&nbsp;FileObject&nbsp;=&nbsp;server.createobject(&quot;Scripting.FileSystemObject&quot;) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;patharr&nbsp;=&nbsp;Split(LocalPath,&quot;\/&quot;) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path_level&nbsp;=&nbsp;UBound&nbsp;(patharr) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;&nbsp;i&nbsp;=&nbsp;0&nbsp;To&nbsp;&nbsp;path_level <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;&nbsp;i=0&nbsp;Then&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pathtmp=patharr(0)&nbsp;&amp;&nbsp;&quot;\/&quot;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pathtmp&nbsp;=&nbsp;pathtmp&nbsp;&amp;&nbsp;patharr(i)&nbsp;&amp;&nbsp;&quot;\/&quot; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cpath&nbsp;=&nbsp;left(pathtmp,len(pathtmp)-1) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;&nbsp;Not&nbsp;&nbsp;FileObject.FolderExists(cpath)&nbsp;Then&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&rsquo;Response.write&nbsp;cpath <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileObject.CreateFolder&nbsp;cpath <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;&nbsp;If&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;&nbsp;FileObject&nbsp;=&nbsp;Nothing&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;&nbsp;err.number&lt;&gt;0&nbsp;Then&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CreateDIR&nbsp;=&nbsp;False&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;err.Clear <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CreateDIR&nbsp;=&nbsp;True&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;&nbsp;If&nbsp; <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;&nbsp;Function <br \/>\n            End&nbsp;Class <br \/>\n            &rsquo;\u8bbe\u7f6e\u7f13\u5b58 <br \/>\n            Function&nbsp;SetCache(xmlFilePath,CacheTime,Conn,Sql) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;cache=new&nbsp;XmlCacheCls <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;cache.Conn=Conn <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;cache.XmlFile=xmlFilePath <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;cache.Sql=Sql <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;cache.CacheTime=CacheTime <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;cache.WriteDataToXml <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;cache&nbsp;=&nbsp;Nothing&nbsp; <br \/>\n            End&nbsp;Function <br \/>\n            &rsquo;\u8bfb\u53d6\u7f13\u5b58 <br \/>\n            Function&nbsp;ReadCache(xmlFilePath,Conn,Sql,ByRef&nbsp;ReadOn) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;cache=new&nbsp;XmlCacheCls <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;cache.Conn=conn <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;cache.XmlFile=xmlFilePath <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;cache.Sql=Sql <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;cache.ReadData <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;ReadCache=cache.SQLArr <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;ReadOn=cache.ReadOn <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;cache&nbsp;=&nbsp;Nothing&nbsp; <br \/>\n            End&nbsp;Function <br \/>\n            %&gt;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><\/font><\/p>\n<p>\u4f7f\u7528\u65b9\u6cd5\uff1a<\/p>\n<p>1\u3001\u8bfb\u53d6\u6570\u636e<\/p>\n<p><code id=\"code1\"><\/p>\n<h5>\n<table cellspacing=\"0\" cellpadding=\"6\" width=\"95%\" align=\"center\" border=\"0\" style=\"border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted\">\n<tbody>\n<tr>\n<td bgcolor=\"#f3f3f3\" style=\"word-wrap: break-word\"><font style=\"font-weight: bold; color: #990000\">\u4ee5\u4e0b\u662f\u5f15\u7528\u7247\u6bb5\uff1a<\/font><br \/>\n            \u4ee3\u7801: <br \/>\n            &lt;!--#include&nbsp;file=&quot;include\/xmlcachecls.asp&quot;&nbsp;--&gt; <br \/>\n            strSel=&quot;&quot; <br \/>\n            ReadOn=0 <br \/>\n            rsArray=ReadCache(Server.Mappath(&quot;xmlcache\/index\/*********.xml&quot;),Conn,strSel,ReadOn) <br \/>\n            &rsquo;response.Write(&quot;######&nbsp;&quot;&amp;ReadOn&amp;&quot;&nbsp;######&lt;br&gt;&quot;)&nbsp;\u6d4b\u8bd5\u6570\u636e\u4ece\u54ea\u91cc\u8bfb\u53d6\u7684&nbsp;&nbsp;&nbsp;\u4f7f\u7528\u65f6\u6ce8\u91ca\u6389 <br \/>\n            If&nbsp;IsArray(rsArray)&nbsp;then <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;i=0&nbsp;to&nbsp;ubound(rsarray,2) <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;********* <br \/>\n            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next <br \/>\n            End&nbsp;If <br \/>\n            strSel=&quot;&quot; <br \/>\n            rsarray=&quot;&quot;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/h5>\n<p>2\u3001\u7f13\u5b58\u6570\u636e<br \/>\ncache.asp<\/p>\n<table cellspacing=\"0\" cellpadding=\"6\" width=\"95%\" align=\"center\" border=\"0\" style=\"border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted\">\n<tbody>\n<tr>\n<td bgcolor=\"#f3f3f3\" style=\"word-wrap: break-word\"><font style=\"font-weight: bold; color: #990000\">\u4ee5\u4e0b\u662f\u5f15\u7528\u7247\u6bb5\uff1a<\/font><br \/>\n            \u4ee3\u7801: <br \/>\n            &lt;!--#include&nbsp;file=&quot;..\/conn.asp&quot;&nbsp;--&gt; <br \/>\n            &lt;!--#include&nbsp;file=&quot;..\/include\/xmlcachecls.asp&quot;&nbsp;--&gt; <br \/>\n            Sql=&quot;&quot; <br \/>\n            call&nbsp;SetCache(Server.Mappath(&quot;..\/xmlcache\/index\/**********.xml&quot;),60*10,Conn,Sql)&nbsp;&rsquo;60*10&nbsp;\u8868\u793a\u7f13\u5b58\u7684\u65f6\u95f4<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>3\u3001\u8c03\u7528<\/p>\n<p>\u5728\u9875\u9762\u5e95\u90e8\u52a0\u5165\uff0c\u8fd9\u6837\u5c31\u4e0d\u4f1a\u5f71\u54cd\u9875\u9762\u6253\u5f00\u7684\u901f\u5ea6<\/p>\n<p><code id=\"code3\"><\/p>\n<h5>\n<table cellspacing=\"0\" cellpadding=\"6\" width=\"95%\" align=\"center\" border=\"0\" style=\"border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted\">\n<tbody>\n<tr>\n<td bgcolor=\"#f3f3f3\" style=\"word-wrap: break-word\"><font style=\"font-weight: bold; color: #990000\">\u4ee5\u4e0b\u662f\u5f15\u7528\u7247\u6bb5\uff1a<\/font><br \/>\n            \u4ee3\u7801: <br \/>\n            &lt;script&nbsp;type=&quot;text\/javascript&quot;&nbsp;src=&quot;cache.asp&quot;&gt;&lt;\/script&gt;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/h5>\n<p>\u7f13\u5b58\u65f6\u95f4\uff0c\u5355\u4f4d\u79d2&nbsp;&nbsp;\u9ed8\u8ba410\u5206\u949f\uff1b\u4e5f\u53ef\u4ee5\u81ea\u5df1\u8bbe\u5b9a cache.CacheTime=60*30 30\u5206\u949f<\/p>\n<p><\/code><\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8bfb\u53d6\u673a\u5236\uff1a\u81ea\u52a8\u5224\u65ad\u6709\u65e0\u7f13\u5b58\u4e86\u7684xml\u6587\u4ef6\uff0c\u5f53xml\u6587\u4ef6\u5b58\u5728\u6570\u636e\uff0c\u4fa7\u4ecexml\u83b7\u53d6\u6570\u636e\uff0c\u53cd\u4e4b\u4ece\u6570\u636e\u5e93\u8bfb\u53d6\uff1b \u7f13\u5b58\u673a\u5236\uff1a\u6839\u636exml\u6587\u4ef6\u751f\u5b58\u65f6\u95f4\u548c\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u7f13\u5b58\u65f6\u95f4\u5224\u65ad\u7f13\u5b58\u6709\u65e0\u8fc7\u671f\uff0c\u8fc7\u671f\u4fa7\u751f\u5b58\u65b0\u7684xml\u6587\u4ef6\uff1b \u6709\u6548\u51cf\u5c11\u6570\u636e\u5e93\u67e5\u8be2\u8bfb\u53d6\u6b21\u6570\uff0c\u7f13\u5b58\u6570\u636e&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"topic":[],"class_list":["post-165","post","type-post","status-publish","format-standard","hentry","category-technology"],"_links":{"self":[{"href":"http:\/\/www.xiaoyebailong.com\/index.php\/wp-json\/wp\/v2\/posts\/165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.xiaoyebailong.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.xiaoyebailong.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.xiaoyebailong.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.xiaoyebailong.com\/index.php\/wp-json\/wp\/v2\/comments?post=165"}],"version-history":[{"count":1,"href":"http:\/\/www.xiaoyebailong.com\/index.php\/wp-json\/wp\/v2\/posts\/165\/revisions"}],"predecessor-version":[{"id":66018,"href":"http:\/\/www.xiaoyebailong.com\/index.php\/wp-json\/wp\/v2\/posts\/165\/revisions\/66018"}],"wp:attachment":[{"href":"http:\/\/www.xiaoyebailong.com\/index.php\/wp-json\/wp\/v2\/media?parent=165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.xiaoyebailong.com\/index.php\/wp-json\/wp\/v2\/categories?post=165"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.xiaoyebailong.com\/index.php\/wp-json\/wp\/v2\/tags?post=165"},{"taxonomy":"topic","embeddable":true,"href":"http:\/\/www.xiaoyebailong.com\/index.php\/wp-json\/wp\/v2\/topic?post=165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}