ADO数据XML数据间的转换的类Word格式.docx

上传人:b****8 文档编号:22691411 上传时间:2023-02-05 格式:DOCX 页数:22 大小:19.99KB
下载 相关 举报
ADO数据XML数据间的转换的类Word格式.docx_第1页
第1页 / 共22页
ADO数据XML数据间的转换的类Word格式.docx_第2页
第2页 / 共22页
ADO数据XML数据间的转换的类Word格式.docx_第3页
第3页 / 共22页
ADO数据XML数据间的转换的类Word格式.docx_第4页
第4页 / 共22页
ADO数据XML数据间的转换的类Word格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

ADO数据XML数据间的转换的类Word格式.docx

《ADO数据XML数据间的转换的类Word格式.docx》由会员分享,可在线阅读,更多相关《ADO数据XML数据间的转换的类Word格式.docx(22页珍藏版)》请在冰豆网上搜索。

ADO数据XML数据间的转换的类Word格式.docx

OrderbynLabelID"

aSQL(1,0)="

PubUser"

aSQL(1,1)="

Select*fromPubUserwherecUserNamelike'

OrderbynUserID"

  setoXMLData=NewTransformData

  CallExport()

CallImport()

setoXMLData=nothing'

//当对象属性有默认值(default())时,可以不用在赋值

  SubExport()    '

 //导出数据

  oXMLData.aSQlData =aSQL 

必须   2维SQL语句数组

oXMLData.bIsSave =1  

default

(1)  是否保存为XML文件

oXMLData.bIsOutput =1  

default(0)  是否显示XML数据

oXMLData.sSaveFileName="

Data.xml"

default(当前时间加随机数)如果保存XML数据,XML文件名称

oXMLData.sSaveFilePath="

"

 

default("

)  如果保存XML数据,XML文件路径(相对路径)

oXMLData.sEncoding ="

gb2312"

) XML文件编码类型

  oXMLData.Export(oDbConn)  

//导出数据过程

  IF(oXMLData.nErrCode<

>

0)Then '

nErrCode(错误代码)为0,运行成功

 Response.WriteoXMLData.GetErrExegesis(oXMLData.nErrCode)

 '

nErrCode(错误代码),通过方法GetErrExegesis()获得注释

EndIF

  EndSub

  SubImport()    '

 //导入数据

  oXMLData.sXMLFile ="

必须 数据源XML文件(包含相对路径)

  oXMLData.sVacancyCols="

nLabelID"

必须 指定某些字段的值可以不导入(屏蔽字段)

     '

格式 "

nID,dDate"

 (以‘,’分隔字段)

  oXMLData.Import(oDbConn)

  IF(oXMLData.nErrCode=0)Then

 Response.Write"

数据导入成功!

Else

EndSub

%>

类的代码:

  TransformData.asp

ClassTransformData

*****************************************************

Copyright(c)2003

创建人:

moonpiazza

日  期:

2003.5.21

描  述:

ADO数据与XML数据间的转换(ASP实现)

版  本:

1.0

功  能:

 ADO数据(表的基本数据)与XML数据间的相互转换

待改进:

表间数据的关联性(通用),数据量大时速度问题

版权:

欢迎改进,翻版不究 :

_)

*****************************************************'

公共方法:

Export,Import,GetErrExegesis

=============================公共变量 End=============================

Privatem_oXMLDOM

Privatem_oXSLDOM

=============================公共变量Begin=============================

=============================错误代码定义Begin=============================

Privatem_nErrCode_NotArray

Privatem_nErrCode_XMLDOM

Privatem_nErrCode_ReadData

Privatem_nErrCode_WriteData

Privatem_nErrCode_Save 

Privatem_nErrCode_EnsFile

Privatem_nErrCode_ErrFile

=============================错误代码定义 End=============================

=============================属性定义Begin=============================

  Privatem_aSQlData 

Privatem_bIsSave

Privatem_bIsOutput

Privatem_sSaveFileName

Privatem_sSaveFilePath

Privatem_sXMLFile

Privatem_sVacancyCols

Privatem_nErrCode

Privatem_sEncoding

Privatem_sImportSQL

属性:

aSQlData

状态:

可写

类型:

2维数组

描述:

SQL语句数组,1维是表名称,2维是相应SQL语句

PublicPropertyLetaSQlData(ByRefp_aSQlData)

m_aSQlData=p_aSQlData

EndProperty'

bIsSave

数字(0,1)default

(1)

导出数据时,是否保存为XML文件

PublicPropertyLetbIsSave(ByRefp_bIsSave)

m_bIsSave=Cint(p_bIsSave)

bIsOutput

数字(0,1)default(0)

导出数据时,是否显示XML数据

PublicPropertyLetbIsOutput(ByRefp_bIsOutput)

m_bIsOutput=Cint(p_bIsOutput)

sSaveFileName

可写,可读

字符串default(GetRndFileName())

导出数据时,如果保存XML数据,XML文件名称

PublicPropertyLetsSaveFileName(ByRefp_sSaveFileName)

m_sSaveFileName=p_sSaveFileName

EndProperty

  PublicPropertyGetsSaveFileName()

sSaveFileName=m_sSaveFileName

sSaveFilePath

字符串default("

导出数据时,如果保存XML数据,XML文件路径(相对路径)

PublicPropertyLetsSaveFilePath(ByRefp_sSaveFilePath)

m_sSaveFilePath=p_sSaveFilePath

  PublicPropertyGetsSaveFilePath()

sSaveFilePath=m_sSaveFilePath

sXMLFile

字符串

导入数据时,数据源XML文件(包含相对路径)

PublicPropertyLetsXMLFile(ByRefp_sXMLFile)

m_sXMLFile=p_sXMLFile

sVacancyCols

 格式 "

导入数据时,指定某些字段的值可以不导入(屏蔽字段)

PublicPropertyLetsVacancyCols(ByRefp_sVacancyCols)

m_sVacancyCols="

"

&

p_sVacancyCols&

"

nErrCode

可读

数字default(0)

错误代码,可通过方法GetErrExegesis(ByRefp_nErrCode)获得注释

PublicPropertyGetnErrCode()

nErrCode=m_nErrCode

sEncoding

XML文件编码类型

PublicPropertyLetsEncoding(ByRefp_sEncoding)

m_sEncoding=p_sEncoding

sImportSQL

导入数据时,生成的SQL语句

PublicPropertyGetsImportSQL()

sImportSQL=m_sImportSQL

=============================属性定义End=============================

初始化类

PrivateSubClass_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=7m_bIsSave =1

m_bIsOutput =0

m_sSaveFilePath ="

m_sSaveFileName ="

m_sXMLFile ="

m_sVacancyCols ="

m_nErrCode =m_nErrCode_NotErr

m_sEncoding ="

  EndSub'

注销类

PrivateSubClass_Terminate()

 Setm_oXMLDOM=Nothing

 Setm_oXSLDOM=Nothing

EndSub'

=============================数据导出Begin=============================

过程:

Export(ByRefp_oDbConn)

导出数据

参数:

 p_oDbConn:

数据库连接对象

PublicSubExport(ByRefp_oDbConn)

DimnI,nMaxI

DimsTableName,sSQL

DimsDataXML,sXSLStr

DimsXMLStr

If(NotIsArray(m_aSQlData))Then

 m_nErrCode=m_nErrCode_NotArray

 ExitSub

EndIf

  ONERRORRESUMENEXT

  Setm_oXSLDOM=Server.CreateObject("

Microsoft.XMLDOM"

Setm_oXMLDOM=Server.CreateObject("

IfErr.Number<

0Then

 m_nErrCode=m_nErrCode_XMLDOM

sXSLStr =GetXSL() 

  m_oXMLDOM.async=false

m_oXSLDOM.async=false

m_oXSLDOM.loadxml(sXSLStr)

  sDataXML="

?

xmlversion='

1.0'

encoding='

m_sEncoding&

sDataXML=sDataXML&

DataBase>

  nMaxI=Ubound(m_aSQlData,1)

  FornI=0TonMaxI

  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

  ExitSub

 EndIF

  sDataXML=sDataXML&

sXMLStr

 EndIf 

Next

/DataBase>

IF(m_bIsOutput)Then

 CallResponseXML(sDataXML)

IF(m_bIsSave)Then

 CallSaveDataXML(sDataXML)

函数:

GetRndFileName()

获得随机名称,由当前时间和7位随机数字构成

PrivateFunctionGetRndFileName()

DimnMax,nMin

DimsRnd,sDate

  Randomize

  nMin=1000000

nMax=9999999

  sRnd=Int(((nMax-nMin+1)*Rnd)+nMin)

sDate=Replace(Replace(Replace(now(),"

-"

"

),"

:

),"

  GetRndFileName="

_"

sDate&

sRnd&

.xml"

EndFunction'

GetXSL()

获得XSL文件字符串

PrivateFunctionGetXSL()

DimsXSLStr

  sXSLStr="

sXSLStr=sXSLStr&

xsl:

stylesheetversion='

xmlns:

xsl='

http:

//www.w3.org/1999/XSL/Transform'

s='

uuid:

BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'

dt='

C2F41010-65B3-11d1-A29F-00AA00C14882'

rs='

urn:

schemas-microsoft-com:

rowset'

z='

#RowsetSchema'

outputomit-xml-declaration='

yes'

/>

templatematch='

/'

for-eachselect='

/xml/rs:

data/z:

row'

elementname='

Row'

@*'

attributename='

{name()}'

value-ofselect='

.'

/xsl:

attribute>

for-each>

element>

template>

sX

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1