亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ADO數(shù)據(jù)與XML數(shù)據(jù)間的轉(zhuǎn)換的類

2019-11-18 20:03:46
字體:
供稿:網(wǎng)友

當(dāng)對現(xiàn)有數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行分析時(shí),經(jīng)常需要對某一部分的數(shù)據(jù)進(jìn)行分析.此時(shí),使用
1.SQL查詢分析器?
 但其往往不直觀,查找某個關(guān)鍵字又需要重新執(zhí)行新的SQL.
2.SQLxml模板
 但又不一定有權(quán)限建立新的虛擬目錄,且某些SQL語句SQLXML模板不支持

數(shù)據(jù)拆離時(shí)也有相似問題。
尤其當(dāng)不同網(wǎng)絡(luò),不同環(huán)境,需要重新導(dǎo)入數(shù)據(jù),進(jìn)行分析或拆離,困難尤為明顯。
能不能有一種方法,可以將數(shù)據(jù)脫離于數(shù)據(jù)庫進(jìn)行分析,需要時(shí)再導(dǎo)入到數(shù)據(jù)庫中?
XML是個很好的選擇!
ADO本身支持?jǐn)?shù)據(jù)到XML的轉(zhuǎn)換,只需要對其格式進(jìn)行解析,成為自己的XML文件通用格式,就可以進(jìn)行本地分析
而對通用XML格式進(jìn)行數(shù)據(jù)庫映射,就可完成數(shù)據(jù)重新導(dǎo)入數(shù)據(jù)庫的工作.

下面是一個ADO數(shù)據(jù)(表的基本數(shù)據(jù))與XML數(shù)據(jù)間的相互轉(zhuǎn)換的類(asp實(shí)現(xiàn)),初步完成表數(shù)據(jù)的導(dǎo)入、導(dǎo)出。
通用表間關(guān)系映射(通過XSD描述),考慮之中,希望各位賜教指點(diǎn),不勝感激.

一個調(diào)用類的例子:
example.asp

<!--#include file="transformXML.asp"-->
<%
Dim aSQL(1,1)
Dim oXMLData

'====== 連接數(shù)據(jù)庫過程 ======
'獲得數(shù)據(jù)庫連接對象 oDbConn
'====== 連接數(shù)據(jù)庫過程 ======

aSQL(0,0) = "PubLable"
aSQL(0,1) = "Select * from PubLabel where cLabelName like '%abc%' Order by nLabelID"
aSQL(1,0) = "PubUser"
aSQL(1,1) = "Select * from PubUser where cUserName like '%abc%' Order by nUserID"

set oXMLData = New TransformData

Call Export()
'Call Import()
set oXMLData = nothing


' // 當(dāng)對象屬性有默認(rèn)值(default())時(shí),可以不用在賦值

Sub Export()        '   // 導(dǎo)出數(shù)據(jù)

 oXMLData.aSQlData  = aSQL  
 ' 必須      2維SQL語句數(shù)組
 
 oXMLData.bIsSave  = 1   
 ' default(1)    是否保存為XML文件
 
 oXMLData.bIsOutput  = 1   
 ' default(0)    是否顯示XML數(shù)據(jù)
 
 oXMLData.sSaveFileName = "Data.xml"
 ' default(當(dāng)前時(shí)間加隨機(jī)數(shù)) 如果保存XML數(shù)據(jù),XML文件名稱
 
 oXMLData.sSaveFilePath = ""  
 ' default("")    如果保存XML數(shù)據(jù),XML文件路徑(相對路徑)
 
 oXMLData.sEncoding  = "gb2312" 
 ' default("gb2312")   XML文件編碼類型

 oXMLData.Export (oDbConn)    
 ' // 導(dǎo)出數(shù)據(jù)過程

 IF (oXMLData.nErrCode<>0) Then  ' nErrCode(錯誤代碼)為0,運(yùn)行成功
  Response.Write oXMLData.GetErrExegesis(oXMLData.nErrCode)
  'nErrCode(錯誤代碼),通過方法GetErrExegesis() 獲得注釋
 End IF

End Sub

Sub Import()         '   // 導(dǎo)入數(shù)據(jù)

 oXMLData.sXMLFile  = "Data.xml" ' 必須  數(shù)據(jù)源XML文件(包含相對路徑)

 oXMLData.sVacancyCols = "nLabelID" ' 必須  指定某些字段的值可以不導(dǎo)入(屏蔽字段)
           ' 格式   "nID,dDate"  (以‘,’分隔字段)

 oXMLData.Import (oDbConn)

 IF (oXMLData.nErrCode=0) Then
  Response.Write "數(shù)據(jù)導(dǎo)入成功!"
 Else
  Response.Write oXMLData.GetErrExegesis(oXMLData.nErrCode)
 End IF
 
End Sub
%>

 

類的代碼:
TransformData.asp

<%
Class TransformData

'*****************************************************
' Copyright (c) 2003
' 創(chuàng) 建 人 : moonpiazza
' 日    期 : 2003.5.21
' 描    述 : ADO數(shù)據(jù)與XML數(shù)據(jù)間的轉(zhuǎn)換(ASP實(shí)現(xiàn))
' 版    本 : 1.0
' 功    能 :   ADO數(shù)據(jù)(表的基本數(shù)據(jù))與XML數(shù)據(jù)間的相互轉(zhuǎn)換
' 待 改 進(jìn) : 表間數(shù)據(jù)的關(guān)聯(lián)性(通用),數(shù)據(jù)量大時(shí)速度問題
'
' 版 權(quán) : 歡迎改進(jìn),翻版不究  :_)
'
'*****************************************************


'*****************************************************
' 公共方法: Export, Import, GetErrExegesis
'*****************************************************

'============================= 公共變量  End =============================
PRivate m_oXMLDOM
Private m_oXSLDOM
'============================= 公共變量 Begin =============================

 

'============================= 錯誤代碼定義 Begin =============================
Private m_nErrCode_NotArray
Private m_nErrCode_XMLDOM
Private m_nErrCode_ReadData
Private m_nErrCode_WriteData
Private m_nErrCode_Save 
Private m_nErrCode_EnsFile
Private m_nErrCode_ErrFile
'============================= 錯誤代碼定義  End =============================

 

'============================= 屬性定義 Begin =============================

Private m_aSQlData 
Private m_bIsSave
Private m_bIsOutput
Private m_sSaveFileName
Private m_sSaveFilePath
Private m_sXMLFile
Private m_sVacancyCols
Private m_nErrCode
Private m_sEncoding
Private m_sImportSQL

'*****************************************************
' 屬性: aSQlData
' 狀態(tài): 可寫
' 類型: 2維數(shù)組
' 描述: SQL語句數(shù)組,1維是表名稱,2維是相應(yīng)SQL語句
'*****************************************************
Public Property Let aSQlData(ByRef p_aSQlData)
 m_aSQlData = p_aSQlData
End Property


'*****************************************************
' 屬性: bIsSave
' 狀態(tài): 可寫
' 類型: 數(shù)字(0,1) default(1)
' 描述: 導(dǎo)出數(shù)據(jù)時(shí),是否保存為XML文件
'*****************************************************
Public Property Let bIsSave(ByRef p_bIsSave)
 m_bIsSave = Cint(p_bIsSave)
End Property


'*****************************************************
' 屬性: bIsOutput
' 狀態(tài): 可寫
' 類型: 數(shù)字(0,1) default(0)
' 描述: 導(dǎo)出數(shù)據(jù)時(shí),是否顯示XML數(shù)據(jù)
'*****************************************************
Public Property Let bIsOutput(ByRef p_bIsOutput)
 m_bIsOutput = Cint(p_bIsOutput)
End Property


'*****************************************************
' 屬性: sSaveFileName
' 狀態(tài): 可寫,可讀
' 類型: 字符串 default(GetRndFileName())
' 描述: 導(dǎo)出數(shù)據(jù)時(shí),如果保存XML數(shù)據(jù),XML文件名稱
'*****************************************************
Public Property Let sSaveFileName(ByRef p_sSaveFileName)
 m_sSaveFileName = p_sSaveFileName
End Property

Public Property Get sSaveFileName()
 sSaveFileName = m_sSaveFileName
End Property


'*****************************************************
' 屬性: sSaveFilePath
' 狀態(tài): 可寫,可讀
' 類型: 字符串 default("")
' 描述: 導(dǎo)出數(shù)據(jù)時(shí),如果保存XML數(shù)據(jù),XML文件路徑(相對路徑)
'*****************************************************
Public Property Let sSaveFilePath(ByRef p_sSaveFilePath)
 m_sSaveFilePath = p_sSaveFilePath
End Property

Public Property Get sSaveFilePath()
 sSaveFilePath = m_sSaveFilePath
End Property


'*****************************************************
' 屬性: sXMLFile
' 狀態(tài): 可寫
' 類型: 字符串
' 描述: 導(dǎo)入數(shù)據(jù)時(shí),數(shù)據(jù)源XML文件(包含相對路徑)
'*****************************************************
Public Property Let sXMLFile(ByRef p_sXMLFile)
 m_sXMLFile = p_sXMLFile
End Property


'*****************************************************
' 屬性: sVacancyCols
' 狀態(tài): 可寫
' 類型: 字符串 default("")
'   格式   "nID,dDate"  (以‘,’分隔字段)
' 描述: 導(dǎo)入數(shù)據(jù)時(shí),指定某些字段的值可以不導(dǎo)入(屏蔽字段)
'*****************************************************
Public Property Let sVacancyCols(ByRef p_sVacancyCols)
 m_sVacancyCols = "," & p_sVacancyCols & ","
End Property


'*****************************************************
' 屬性: nErrCode
' 狀態(tài): 可讀
' 類型: 數(shù)字  default(0)
' 描述: 錯誤代碼,可通過方法GetErrExegesis(ByRef p_nErrCode) 獲得注釋
'*****************************************************
Public Property Get nErrCode()
 nErrCode = m_nErrCode
End Property


'*****************************************************
' 屬性: sEncoding
' 狀態(tài): 可寫
' 類型: 字符串 default("gb2312")
' 描述: XML文件編碼類型
'*****************************************************
Public Property Let sEncoding(ByRef p_sEncoding)
 m_sEncoding = p_sEncoding
End Property


'*****************************************************
' 屬性: sImportSQL
' 狀態(tài): 可讀
' 類型: 字符串 default("gb2312")
' 描述: 導(dǎo)入數(shù)據(jù)時(shí),生成的SQL語句
'*****************************************************
Public Property Get sImportSQL()
 sImportSQL = m_sImportSQL
End Property
'============================= 屬性定義 End =============================

 

'*****************************************************
' 初始化類
'*****************************************************
Private Sub Class_Initialize()

 Server.ScriptTimeout = 1000

 m_nErrCode_NotErr = 0
 m_nErrCode_NotArray = 1
 m_nErrCode_XMLDOM = 2
 m_nErrCode_ReadData = 3
 m_nErrCode_WriteData= 4
 m_nErrCode_Save  = 5
 m_nErrCode_EnsFile = 6
 m_nErrCode_ErrFile = 7


 m_bIsSave   = 1
 m_bIsOutput   = 0
 m_sSaveFilePath  = ""
 m_sSaveFileName  = ""
 m_sXMLFile   = ""
 m_sVacancyCols  = ""
 m_nErrCode   = m_nErrCode_NotErr
 m_sEncoding   = "gb2312"

End Sub


'*****************************************************
' 注銷類
'*****************************************************
Private Sub Class_Terminate()
  Set m_oXMLDOM = Nothing
  Set m_oXSLDOM = Nothing
End Sub


'============================= 數(shù)據(jù)導(dǎo)出 Begin =============================

'*****************************************************
' 過程: Export(ByRef p_oDbConn)
' 描述: 導(dǎo)出數(shù)據(jù)
' 參數(shù):
'   p_oDbConn: 數(shù)據(jù)庫連接對象
'
'*****************************************************
Public Sub Export(ByRef p_oDbConn)
 Dim nI, nMaxI
 Dim sTableName, sSQL
 Dim sDataXML, sXSLStr
 Dim sXMLStr
 
 If (Not IsArray(m_aSQlData)) Then
  m_nErrCode = m_nErrCode_NotArray
  Exit Sub
 End If

 ON ERROR RESUME NEXT

 Set m_oXSLDOM = Server.CreateObject("Microsoft.XMLDOM")
 Set m_oXMLDOM = Server.CreateObject("Microsoft.XMLDOM")
 
 If Err.Number <>0 Then
  m_nErrCode = m_nErrCode_XMLDOM
  Exit Sub
 End If
 
 sXSLStr   = GetXSL() 

 m_oXMLDOM.async = false
 m_oXSLDOM.async = false
 m_oXSLDOM.loadxml(sXSLStr)

 

 sDataXML = "<?xml version='1.0' encoding='" & m_sEncoding & "'?>"
 sDataXML = sDataXML & "<DataBase>"

 nMaxI = Ubound(m_aSQlData, 1)

 For nI=0 To nMaxI

  sTableName = m_aSQlData(nI, 0)

  If (Len(sTableName) > 0) Then

   sSQL  = m_aSQlData(nI, 1)
   sXMLStr  = GetDataXML(sTableName, sSQL, p_oDbConn)
  
   IF (m_nErrCode > m_nErrCode_NotErr) Then
    Exit Sub
   End IF
  

   sDataXML = sDataXML & sXMLStr
  End If 
 
 Next

 sDataXML = sDataXML & "</DataBase>"
 
 IF (m_bIsOutput) Then
  Call ResponseXML(sDataXML)
 End IF
 
 IF (m_bIsSave) Then
  Call SaveDataXML(sDataXML)
 End IF
 
End Sub


'*****************************************************
' 函數(shù): GetRndFileName()
' 描述: 獲得隨機(jī)名稱,由當(dāng)前時(shí)間和7位隨機(jī)數(shù)字構(gòu)成
'*****************************************************
Private Function GetRndFileName()
 Dim nMax, nMin
 Dim sRnd, sDate

 Randomize

 nMin = 1000000
 nMax = 9999999

 sRnd = Int( ( (nMax - nMin + 1) * Rnd ) + nMin)
 sDate = Replace( Replace( Replace( now(), "-", "") , ":", ""), " ", "")

 GetRndFileName = "_" & sDate & sRnd & ".xml"
 
End Function


'*****************************************************
' 函數(shù): GetXSL()
' 描述: 獲得XSL文件字符串
'*****************************************************
Private Function GetXSL()
 Dim sXSLStr

 sXSLStr = ""
 sXSLStr = sXSLStr & "<?xml version='1.0' encoding='" & m_sEncoding & "'?>"
 sXSLStr = sXSLStr & "<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882' xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882' xmlns:rs='urn:schemas-microsoft-com:rowset' xmlns:z='#RowsetSchema'>"
 sXSLStr = sXSLStr & "<xsl:output omit-xml-declaration='yes'/>"
 sXSLStr = sXSLStr & "<xsl:template match='/'>"
 sXSLStr = sXSLStr & "<xsl:for-each select='/xml/rs:data/z:row'>"
 sXSLStr = sXSLStr & "<xsl:element name='Row'>"
 sXSLStr = sXSLStr & "<xsl:for-each select='@*'>"
 sXSLStr = sXSLStr & "<xsl:attribute name='{name()}'>"
 sXSLStr = sXSLStr & "<xsl:value-of select='.'/>"
 sXSLStr = sXSLStr & "</xsl:attribute>"
 sXSLStr = sXSLStr & "</xsl:for-each>"
 sXSLStr = sXSLStr & "</xsl:element>"
 sXSLStr = sXSLStr & "</xsl:for-each>"
 sXSLStr = sXSLStr & "</xsl:template>"
 sXSLStr = sXSLStr & "</xsl:stylesheet>"

 GetXSL = sXSLStr
 
End Function


'*****************************************************
' 函數(shù): GetDataXML(ByRef p_sTableName, ByRef p_sSQL, ByRef p_oDbConn)
' 描述: 執(zhí)行單條SQL,獲得數(shù)據(jù)轉(zhuǎn)換后的XML
' 參數(shù):
'   1.p_sTableName : 表的名稱
'   2.p_sSQL  : 讀取數(shù)據(jù)的SQl語句
'   3.p_oDbConn  : 數(shù)據(jù)庫連接對象
'
'*****************************************************
Private Function GetDataXML(ByRef p_sTableName, ByRef p_sSQL, ByRef p_oDbConn)
 Dim oRecordset
 Dim sXMLStr, sCleanXML
 Dim nEnsData

 ON ERROR RESUME NEXT

 nEnsData  = 0

 Set oRecordset = p_oDbConn.Execute(p_sSQL)
 If Err.Number <>0 Then
  m_nErrCode = m_nErrCode_ReadData
  Exit Function
 End If

 IF (Not oRecordset.eof) Then
  nEnsData = 1
 End IF
 
 IF (nEnsData = 1) Then
  oRecordset.save m_oXMLDOM, 1
 
  oRecordset.close
  Set oRecordset = Nothing

  sCleanXML = m_oXMLDOM.transformNode(m_oXSLDOM)

  sXMLStr  = "<" & p_sTableName & ">"
  sXMLStr  = sXMLStr & sCleanXML
  sXMLStr  = sXMLStr & "</" & p_sTableName & ">"
 Else
  sXMLStr  = "<" & p_sTableName & "/>"
 End IF
 


 GetDataXML = sXMLStr

End Function


'*****************************************************
' 過程: SaveDataXML(ByRef p_sXMLStr)
' 描述: 保存XML格式的字符串到文件
' 參數(shù):
'   p_sXMLStr : XML格式的字符串
'*****************************************************
Private Sub SaveDataXML(ByRef p_sXMLStr)
 Dim sFileInfo

 If (Len(m_sSaveFileName) = 0) Then
  m_sSaveFileName = GetRndFileName()
 End If
 
 If (Len(m_sSaveFilePath) = 0) Then
  sFileInfo = m_sSaveFileName
 Else
  IF (Right(m_sSaveFilePath,1) = "/")Then
   sFileInfo = m_sSaveFilePath & m_sSaveFileName
  Else  
   sFileInfo = m_sSaveFilePath & "/" & m_sSaveFileName
  End IF 
 End If

 m_oXMLDOM.loadxml(p_sXMLStr)

 ON ERROR RESUME NEXT

 m_oXMLDOM.save ( Server.MapPath(sFileInfo) )
 If Err.Number <>0 Then
  m_nErrCode = m_nErrCode_Save
  Exit Sub
 End If

End Sub

'*****************************************************
' 過程: ResponseXML(ByRef p_sXMLStr)
' 描述: 輸出XML格式的字符串到瀏覽器
' 參數(shù):
'   p_sXMLStr : XML格式的字符串
'*****************************************************
Private Sub ResponseXML(ByRef p_sXMLStr)
 Response.CharSet  = m_sEncoding
 Response.ContentType = "text/xml"
 Response.write p_sXMLStr
End Sub


'============================= 數(shù)據(jù)導(dǎo)出 End =============================

 

'============================= 數(shù)據(jù)導(dǎo)入 Begin =============================

'*****************************************************
' 過程: Import(ByRef p_oDbConn)
' 描述: 導(dǎo)入數(shù)據(jù)
' 參數(shù):
'   p_oDbConn: 數(shù)據(jù)庫連接對象
'
'*****************************************************
Public Sub Import(ByRef p_oDbConn)
 Dim oRootNode

 If (Len(m_sXMLFile) < 1) Then
  m_nErrCode = m_nErrCode_EnsFile
  Exit Sub
 End If

 ON ERROR RESUME NEXT

 Set m_oXMLDOM = Server.CreateObject("Microsoft.XMLDOM")
 
 If Err.Number <>0 Then
  m_nErrCode = m_nErrCode_XMLDOM
  Exit Sub
 End If
 
 m_oXMLDOM.async = false

 m_oXMLDOM.load( Server.MapPath(m_sXMLFile) )
 If Err.Number <>0 Then
  m_nErrCode = m_nErrCode_EnsFile
  Exit Sub
 End If

 If (Len(m_oXMLDOM.xml) < 1) Then
  m_nErrCode = m_nErrCode_ErrFile
  Exit Sub
 End If

 Set oRootNode = m_oXMLDOM.documentElement
 Set m_oXMLDOM  = Nothing
 
 m_sImportSQL = GetImportSQL(oRootNode)

 Set oRootNode = Nothing

 Call p_oDbConn.Execute(m_sImportSQL)
 If Err.Number <>0 Then
  m_nErrCode = m_nErrCode_WriteData
  Exit Sub
 End If
 
End Sub


'*****************************************************
' 函數(shù): GetImportSQL(ByRef p_oDataBase)
' 描述: 獲得將XML數(shù)據(jù)轉(zhuǎn)換為SQL后的字符串
' 參數(shù):
'   p_oDataBase  : XML文件的根節(jié)點(diǎn)
'
'*****************************************************
Private Function GetImportSQL(ByRef p_oDataBase)
 Dim oTable, oRow, oDatas, oData
 Dim sColNames, sColValues
 Dim sColName
 Dim sSQL


 sSQL = ""

 For Each oTable In p_oDataBase.childNodes
 
  For Each oRow In oTable.childNodes    

    Set oDatas = oRow.selectNodes("@*")

    sColNames = ""
    sColValues = ""

    For Each oData In oDatas

     sColName = oData.nodeName

     If ( Instr( Lcase(Cstr(m_sVacancyCols)), Lcase(Cstr("," & sColName & ",")) ) < 1) Then
      sColNames = sColNames & sColName & ", "
      sColValues = sColValues & "'" & oData.nodeValue & "', "     
     End If
 
    Next

    sColNames = "(" & Left(sColNames,Len(sColNames)-2) & ") "
    sColValues = "(" & Left(sColValues,Len(sColValues)-2) & ") "

    sSQL = sSQL & " Insert Into " & oTable.nodeName
    sSQL = sSQL & " " & sColNames & " Values " & sColValues & " ;  "

  Next

 Next

 Set oData = Nothing
 Set oDatas = Nothing
 Set oRow = Nothing
 Set oTable = Nothing

 GetImportSQL  = sSQL
End Function

'============================= 數(shù)據(jù)導(dǎo)入 End =============================


'*****************************************************
' 函數(shù): GetErrExegesis(ByRef p_nErrCode)
' 描述: 獲得錯誤代碼的注釋
' 參數(shù):
'   p_oDataBase  : XML文件的根節(jié)點(diǎn)
'
'*****************************************************
Public Function GetErrExegesis(ByRef p_nErrCode)
 Dim sExegesis
 Dim nErrCode

 nErrCode = Cint(p_nErrCode)
 
 Select Case (nErrCode)

  Case m_nErrCode_NotErr
   sXSLStr = "運(yùn)行成功!"

  Case m_nErrCode_NotArray
   sXSLStr = "屬性: SQL語句數(shù)組 不正確!"

  Case m_nErrCode_XMLDOM
   sXSLStr = "不能創(chuàng)建XML文檔,服務(wù)器必須支持MSXML!"

  Case m_nErrCode_ReadData
   sXSLStr = "讀取數(shù)據(jù)庫數(shù)據(jù)發(fā)生錯誤! " & "<BR>"
   sXSLStr = sXSLStr & " 請檢查 " & " "
   sXSLStr = sXSLStr & "1.數(shù)據(jù)庫是否已連接 " & " "
   sXSLStr = sXSLStr & "2.語句是否正確 "

  Case m_nErrCode_WriteData
   sXSLStr = "寫入數(shù)據(jù)庫數(shù)據(jù)發(fā)生錯誤! " & "<BR>"
   sXSLStr = sXSLStr & " 請檢查 " & " "
   sXSLStr = sXSLStr & "1.數(shù)據(jù)庫是否已連接 " & " "
   sXSLStr = sXSLStr & "2.SQL語句是否正確 " & "<BR>"
   sXSLStr = sXSLStr & "SQL語句 " & "<BR><BR>"
   sXSLStr = sXSLStr & "" & m_sImportSQL
  
  Case m_nErrCode_Save
   sXSLStr = "不能保存XML文檔,請檢查是否對該目錄或文件有' 寫入權(quán)限 ' !"

  Case m_nErrCode_EnsFile
   sXSLStr = "不能讀取XM數(shù)據(jù),XML文件不存在 ' !"
   sXSLStr = sXSLStr & "文件:" & m_sXMLFile
  

  Case m_nErrCode_ErrFile
   sXSLStr = "不能讀取XM數(shù)據(jù),XML文件格式錯誤 ' !"
   sXSLStr = sXSLStr & "文件:" & m_sXMLFile
 
  Case Else
   sXSLStr = "未知錯誤 !"

 End Select
 

 GetErrExegesis = "<BR>" & sXSLStr & "<BR>"
 
End Function

End Class
%>


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
日韩精品久久一区二区三区| 欧美猛男男办公室激情| 久久久久久久久97黄色工厂| 久久亚洲免费| 看欧美ab黄色大片视频免费| 极品裸体白嫩激情啪啪国产精品| 亚洲AV无码成人片在线观看| www.男人的天堂.com| 992tv成人免费影院| а_天堂中文在线| 欧美/亚洲一区| 99精品在线观看| av网页在线观看| 欧美日韩在线播| 国产精品久久久久久久久久久久久久久久| 中文字幕丰满人伦在线| 国产精品成人一区二区不卡| 8888在线观看免费www| 激情五月婷婷六月| 国产精选在线观看| 色婷婷国产精品| 欧美国产成人精品| 日韩欧美三级| 在线亚洲午夜片av大片| 人妻 丝袜美腿 中文字幕| 成人高潮成人免费观看| 久久97久久97精品免视看| 自拍自偷一区二区三区| 网站黄在线观看| 先锋在线资源一区二区三区| 亚洲午夜91| 伊人久久男人天堂| 能看av的网址| 国产精品成人3p一区二区三区| av资源网站在线观看| 在线观看一区二区三区视频| 偷拍视屏一区| 欧美在线播放| 在线免费观看视频黄| 国产精品美女久久久久aⅴ国产馆| 四虎影院中文字幕| 色香蕉久久蜜桃| 国产精品永久免费| 亚洲欧美日韩偷拍| 丁香六月婷婷综合| 热99精品视频| 伊人久久大香线蕉综合影院首页| 嫩草在线播放| 日本精品999| 动漫精品一区二区三区| 视频小说一区二区| 国产精品福利一区二区| 欧美性极品少妇| 91在线高清免费观看| youjizz国产精品| 欧美日韩国产网站| 亚洲av无码一区二区二三区| 88av在线视频| 久久久久久久久久美女| 久热精品视频在线| 奇米四色…亚洲| 久久久久久久久久久久久久久| 婷婷综合激情网| 日本三级视频网站| 国产精品高清在线| 精品国产一区二区三区四区| 国产精品嫩草影院久久久| 日韩精品不卡一区二区| 自拍偷拍欧美视频| 亚洲成色www8888| 激情成人午夜视频| 精品999日本久久久影院| 亚洲人成影院77777| 四虎国产成人永久精品免费| 高清1区2区| 青青草手机在线视频| 久久aⅴ乱码一区二区三区| 国产亚洲一区二区精品| 国产精品自拍在线| 亚洲精品国产免费| 成人疯狂猛交xxx| 国产又色又爽又黄的| 粉嫩久久久久久久极品| 中文字幕精品久久久| 欧美久久久久久久久| 欧美一卡二卡三卡| 裸体在线国模精品偷拍| 日韩欧乱色一区二区三区在线| 欧美日本二区| 2019中文字幕全在线观看| 欧美日韩亚洲综合一区二区三区| 蜜臂av日日欢夜夜爽一区| 亚洲精品在线观看网站| 久久久久日韩精品久久久男男| 91精品中文字幕一区二区三区| 生活片a∨在线观看| 国新精品乱码一区二区三区18| www日本在线观看| 日韩成人av一区二区| 成人欧美一区二区三区黑人| 综合在线一区| 青柠在线影院观看日本| 欧美成人三级伦在线观看| 乱码第一页成人| 熟妇高潮一区二区三区| 国产97免费视频| 狠狠操视频网| 久久青草伊人| 日韩少妇与小伙激情| а√在线天堂官网| 欧美日韩精品一区二区三区视频播放| 一道在线中文一区二区三区| 久久国产小视频| 四虎影视在线播放| 北条麻妃一区二区三区中文字幕| 亚洲欧美日本一区二区| 视频一区国产精品| 成人信息集中地欧美| 日本视频中文字幕一区二区三区| 欧美无遮挡国产欧美另类| 日韩中文字幕免费观看| 成人午夜在线| 亚洲视频在线免费播放| 在线综合视频| 91免费视频网站| 精品入口麻豆88视频| 欧美性xxxxxxxx| 免费在线观看一级毛片| 国产麻豆剧果冻传媒观看hd高清| 日韩一级二级| 亚洲第一区第二区第三区| 欧美日韩一区二区三区四区五区六区| av成人免费观看| 原纱央莉成人av片| 欧美黑人性猛交xxx| 蜜臀精品久久久久久蜜臀| 亚洲主播在线| 翔田千里一区二在线观看| 欧洲亚洲一区二区三区| 日韩08精品| 天天操狠狠操夜夜操| 99tv成人影院| 免费高清视频日韩| 美女视频网站黄色亚洲| 精品国产一区二区三区四区| 91视频国产高清| 看欧美ab黄色大片视频免费| 一区二区三区中文免费| 四虎电影网址| 美女视频黄的免费| 在线观看av黄网站永久| 少妇无码av无码专区在线观看| 久久字幕精品一区| 国产伦精品一区二区三区高清版禁| 99精品在免费线中文字幕网站一区| 欧美极品另类| 国产亚洲精品美女久久久久| 大胆欧美熟妇xx| 国产一区二区观看| 香蕉成人啪国产精品视频综合网| 一区二区三区在线看| 亚洲精品国偷自产在线99热| 欧美精品免费在线观看| 中文字幕有码热在线视频| 噜噜噜久久,亚洲精品国产品| 美女久久久久久久久久| 欧美精品激情blacked18| 牛牛精品视频在线| 激情欧美一区二区三区中文字幕| 欧美在线一区二区三区| 久久久久久久久久久久久久av| 欧美性猛交xxxxx少妇| 四虎国产成人免费观看| 精品久久国产字幕高潮| 国产欧美最新羞羞视频在线观看| 91精品国产99久久久久久红楼| 在线观看日韩www视频免费| 国产精品久久久久久免费播放| 国产精品久久久久免费a∨大胸| 青草国产精品久久久久久| 国产二级片在线| 欧美多人乱p欧美4p久久| 无遮挡动作视频在线观看免费入口| 国产一区在线不卡| 成年人免费在线播放| 久久波多野结衣| 亚洲免费一级视频| 国产jizzjizz一区二区| 国产三级av在线| 国产精品久久久久久久天堂第1集| 特黄特黄的视频| 久久久久久91香蕉国产| 在线观看成人av电影| 欧美亚洲国产视频| 美国黑人一级大黄| 欧美成人免费在线观看视频| 乱小说综合网站| 一级女性全黄久久生活片免费| 一级黄色片在线| 久久久久免费精品国产| 欧美一区二区三区观看| 亲子乱一区二区三区电影| 亚洲午夜国产成人av电影男同| 国产ts人妖一区二区三区| 大地资源高清播放在线观看| 国产成人精品亚洲男人的天堂| 亚洲日本一区二区三区在线观看| 欧美在线观看18| 激情综合网激情| 日韩西西人体444www| 久久成人精品一区二区三区| 亚洲男同1069视频| 亚洲国产综合一区| 久久天天躁狠狠躁夜夜爽蜜月| 国产精品一香蕉国产线看观看| 一级特黄曰皮片视频| 日韩中文字幕精品视频| 欧美日韩高清一区二区不卡| 亚洲午夜久久久久久久| 综合视频一区| www.日本高清视频| 国产精品三级美女白浆呻吟| 欧美mv和日韩mv的网站| 久久免费美女视频| 91视频成人免费| 精品视频在线你懂得| 蜜桃免费在线视频| 欧美日韩一区久久| 中文字幕第69页| 国产91丝袜美女在线播放| 亚洲国产精品18久久久久久| 九九热线视频只有这里最精品| 国产精品国产精品88| 天堂在线视频中文网| 国产成人精品123区免费视频| 日韩中文字幕久久久经典网| 人妻 日韩精品 中文字幕| 中文字幕av在线一区二区三区| 激情文学一区| 亚洲精品久久区二区三区蜜桃臀| 成人性生活毛片| 有色激情视频免费在线| 九九99精品| 欧美午夜精品| 日本人视频jizz页码69| 成人片在线播放| 先锋影音国产精品| 亚洲精品一区三区三区在线观看| 少妇熟女一区二区| 国产偷亚洲偷欧美偷精品| 亚洲一区精品在线观看| 色视频网站在线观看| 97人人爽人人爽人人爽| 日本一区二区精品| 亚洲视频在线观看网站| 欧美成人xxxx| 久久精品国亚洲| 午夜一区在线| 高清wwwwxxxx| 猛性xxxxx| 欧美色男人天堂| 午夜在线播放视频欧美| 国产欧美一区二区三区精品酒店| 日韩一区二区三区免费视频| 日本在线不卡视频一二三区| 男人的天堂亚洲在线| 91视频成人免费| 国产精品福利在线播放| eeuss国产一区二区三区四区| 在线成人黄色| 久久久久久久久网| 在线电影一区| 日本五级黄色片| 日本在线免费观看一区| 久久性生活视频| 激情小说亚洲| 国产成人av免费| 九色自拍论坛| 久久精品亚洲精品国产欧美kt∨| 日韩特级毛片| 亚洲成人黄色av| 成年人在线观看av| 亚洲一区二区三区精品中文字幕| www.97.| 亚洲人人精品| 日韩精品在线影院| 日本欧美电影在线观看| 国产一二三区在线观看| 国产有码在线| 中文字幕一区二区三区在线播放| 久久国产日韩欧美精品| 亚洲欧美成人一区二区在线电影| 欧美老女人性生活| 日韩精品在线视频免费观看| 久久九九全国免费| 亚洲第一福利一区| 亚洲精品成人无限看| 嗯用力啊快一点好舒服小柔久久| 91成人免费视频| 99精品热视频| h动漫在线视频| 激情五月播播久久久精品| 久久影院午夜片一区| 黄a大片av永久免费| 日韩欧美亚洲日产国| 国产91一区二区三区| 欧美日韩三级一区| 欧美电影h版| 尤物在线视频观看| 在线亚洲+欧美+日本专区| 一区二区在线免费看| 亚洲一二三四五六区| 久久精品导航| 亚洲第一偷拍| 成人video亚洲精品| 视频一区在线| 欧美一区二区三区精品电影| 国产三级在线免费| jizz在线观看中文| 日韩欧美一级二级| 国产亚洲激情视频在线| 亚洲色图av在线| 国产精品日韩电影| 青草影院在线观看| 婷婷免费在线观看| 亚洲а∨精品天堂在线| 中文字幕一区二区三区四区不卡| 国产1区2区3区精品美女|