要将ms访问表数据导出到xml [英] To export ms access table data to xml
问题描述
我想将我的ms access 2003表数据导出到服务器可以导入的xml文件中.代码将如何写到我已经写了一些但发生了错误的代码中.
I want to export my ms access 2003 Table data to xml file that can be imported by the server .how code will be there i can write i have written some but there is an error occured .
我要导出到xml的代码:
私人子Command0_Click()
发生错误时转到Err_Command0_Click
昏暗的xml作为字符串
xml =< HMIS>"
xml = xml& < xs:模式id =""HMIS". xmlns =" xmlns:xs =" http://www.w3.org/2001/XMLSchema" xmlns:msdata ="""urn:schemas-microsoft-com:xml-msdata">"
xml = xml& < xs:元素名称=""HMIS""msdata:IsDataSet =" true". msdata:UseCurrentLocale =" true""
xml = xml& << xs:complexType>"
xml = xml& "
xml = xml& < xs:element name =""HealthFacility""
xml = xml& << xs:complexType>"
xml = xml& << xs:sequence>"
xml = xml& < xs:element name =""Healthfacilityid"" type ="xs:string" minOccurs ="0". />"
xml = xml& < xs:element name =""typeid" type ="xs:short" minOccurs ="0". />"
xml = xml& < xs:element name =""Districtid" type ="xs:short" minOccurs ="0". />"
xml = xml& < xs:element name =""Healthfacilityname"" type ="xs:string" minOccurs ="0". />"
xml = xml& < xs:element name =""Healthfacilityname_np"" type ="xs:string" minOccurs ="0". />"
xml = xml& < xs:element name =""vdcid" type ="xs:short" minOccurs ="0". />"
xml = xml& < xs:element name =""healthfacilitycode"" type ="xs:string" minOccurs ="0". />"
xml = xml& < xs:element name =""parenthealthfacilityid"" type ="xs:string" minOccurs ="0". />"
xml = xml& </xs:sequence>
xml = xml& </xs:complexType><
xml = xml& </xs:element><
xml = xml& < xs:element name =""HMIS32_Vaccination">"
xml = xml& << xs:complexType>"
xml = xml& << xs:sequence>"
xml = xml& < xs:element name =""Databank_districtid" type ="xs:string" minOccurs ="0". />"
xml = xml& < xs:element name =""Districtid" type ="xs:short" minOccurs ="0". />"
xml = xml& < xs:element name =""Vaccinated_bcg" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Vaccinated_dpthb1" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Vaccinated_dpthb2" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:元素名称=""vaccinated_dpthb3" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""vaccinated_polio1" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Vaccinated_polio2" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Vaccinated_polio3" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:元素名称=""vaccinated_measles911"" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:元素名称=""vaccinated_measles1224" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""vaccinated_je" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:元素名称=""Vaccinated_H1" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:元素名称=""Vaccinated_H2" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:元素名称=""Vaccinated_H2plus" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Receiveved_bcg" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Receiveved_dpt" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Receiveved_polio" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Receved_measles" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Receiveved_je" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Receiveved_H" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Expenditure_bcg" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Expenditure_dpt" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Expenditure_polio"" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Expenditure_measles" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Expenditure_Je" type ="xs:int" minOccurs ="0". />"
xml = xml& < xs:element name =""Expenditure_H" type ="xs:int" minOccurs ="0". />"
xml = xml& </xs:sequence>
xml = xml& </xs:complexType><
xml = xml& </xs:element>"
My code to export to xml:
Private Sub Command0_Click()
On Error GoTo Err_Command0_Click
Dim xml As String
xml = "<HMIS>"
xml = xml & "<xs:schema id=""HMIS"" xmlns="""" xmlns:xs=""http://www.w3.org/2001/XMLSchema"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">"
xml = xml & "<xs:element name=""HMIS"" msdata:IsDataSet=""true"" msdata:UseCurrentLocale=""true"">"
xml = xml & "<xs:complexType>"
xml = xml & "<xs:choice minOccurs=""0"" maxOccurs=""unbounded"">"
xml = xml & "<xs:element name=""HealthFacility"">"
xml = xml & "<xs:complexType>"
xml = xml & "<xs:sequence>"
xml = xml & "<xs:element name=""Healthfacilityid"" type=""xs:string"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""typeid"" type=""xs:short"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Districtid"" type=""xs:short"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Healthfacilityname"" type=""xs:string"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Healthfacilityname_np"" type=""xs:string"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""vdcid"" type=""xs:short"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""healthfacilitycode"" type=""xs:string"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""parenthealthfacilityid"" type=""xs:string"" minOccurs=""0"" />"
xml = xml & "</xs:sequence>"
xml = xml & "</xs:complexType>"
xml = xml & "</xs:element>"
xml = xml & "<xs:element name=""HMIS32_Vaccination"">"
xml = xml & "<xs:complexType>"
xml = xml & "<xs:sequence>"
xml = xml & "<xs:element name=""Databank_districtid"" type=""xs:string"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Districtid"" type=""xs:short"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Vaccinated_bcg"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Vaccinated_dpthb1"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Vaccinated_dpthb2"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""vaccinated_dpthb3"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""vaccinated_polio1"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Vaccinated_polio2"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Vaccinated_polio3"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""vaccinated_measles911"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""vaccinated_measles1224"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""vaccinated_je"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Vaccinated_H1"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Vaccinated_H2"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Vaccinated_H2plus"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Recieved_bcg"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Recieved_dpt"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Recieved_polio"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Recieved_measles"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Recieved_je"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Recieved_H"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Expenditure_bcg"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Expenditure_dpt"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Expenditure_polio"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Expenditure_measles"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Expenditure_Je"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "<xs:element name=""Expenditure_H"" type=""xs:int"" minOccurs=""0"" />"
xml = xml & "</xs:sequence>"
xml = xml & "</xs:complexType>"
xml = xml & "</xs:element>"
xml = xml& </xs:choice><
xml = xml& </xs:complexType><
xml = xml& </xs:element><
xml = xml& </xs:schema><
'xml = xml& </HMIS>
将MySQL变暗为字符串
暗淡的路径作为字符串
路径="c:\" & getDistrict& "_" & Me.comboStartMonth.value& "_" &左(Me.comboYears.value,4)& "_" &右(Me.comboYears.value,2)& " .xml"
输出为#1'FreeFiles的开放路径
打印#1,xml
MySQL =" SELECT *"
MySQL = MySQL& "来自HMIS32_Vaccination"
MySQL = MySQL& "内联接Databank_district ON Databank_district.Databank_districtid = HMIS32_Vaccination.Databank_districtid``
MySQL = MySQL& " WHERE Databank_district.submitteddate_m ="& fGetMonthId(comboStartMonth.value)
MySQL = MySQL& " AND Databank_district.submitteddate_y =" & fGetYearId(comboYears.value)
db.LoadData(MySQL)
使用db.rs
如果.RecordCount<> 0然后
如果.EOF = False,则
直到db.rs.EOF = True
打印#1, < HMIS32_Vaccination>"
打印#1, < districtid>" &做了& </districtid> ;;;
打印#1, < yearid>" & fGetYearId(comboYears.value)& </yearid> ;;;
打印#1, < monthid>" & fGetMonthId(comboStartMonth.value)& </monthid> ;;;
对于每个fld In .Fields
b打印#1, <" & fld.name& >" & fld& </
& fld.name& ">";
下一个fld
.MoveNext
打印#1, </HMIS32_Vaccination>"
循环
如果结束
如果结束
结尾为
xml = xml & "</xs:choice>"
xml = xml & "</xs:complexType>"
xml = xml & "</xs:element>"
xml = xml & "</xs:schema>"
'xml = xml & "</HMIS>"
Dim MySQL As String
Dim path As String
path = "c:\" & getDistrict & "_" & Me.comboStartMonth.value & "_" & Left(Me.comboYears.value, 4) & "_" & Right(Me.comboYears.value, 2) & ".xml"
Open path For Output As #1 ' FreeFiles
Print #1, xml
MySQL = "SELECT * "
MySQL = MySQL & " from HMIS32_Vaccination"
MySQL = MySQL & " INNER JOIN Databank_district ON Databank_district.Databank_districtid = HMIS32_Vaccination.Databank_districtid "
MySQL = MySQL & " WHERE Databank_district.submitteddate_m = " & fGetMonthId(comboStartMonth.value)
MySQL = MySQL & " AND Databank_district.submitteddate_y = " & fGetYearId(comboYears.value)
db.LoadData (MySQL)
With db.rs
If .RecordCount <> 0 Then
If .EOF = False Then
Do Until db.rs.EOF = True
Print #1, " <HMIS32_Vaccination>"
Print #1, " <districtid>" & Did & "</districtid>";
Print #1, " <yearid>" & fGetYearId(comboYears.value) & "</yearid>";
Print #1, " <monthid>" & fGetMonthId(comboStartMonth.value) & "</monthid>";
For Each fld In .Fields
Print #1, " <" & fld.name & ">" & fld & "</"
& fld.name & ">";
Next fld
.MoveNext
Print #1, " </HMIS32_Vaccination>"
Loop
End If
End If
End With
打印#1, </HMIS32_OpdMorbidity>"
打印#1,</HMIS>"
关闭#1
MsgBox已将XML文件生成并保存到C驱动器."
Exit_Command0_Click:
退出子
Err_Command0_Click:
MsgBox错误说明
恢复Exit_Command0_Click
结束Sub
Print #1, " </HMIS32_OpdMorbidity>"
Print #1, "</HMIS>"
Close #1
MsgBox "XML file Genereted and Saved to C Drive."
Exit_Command0_Click:
Exit Sub
Err_Command0_Click:
MsgBox Err.Description
Resume Exit_Command0_Click
End Sub
推荐答案
您可以轻松完成,将数据从MS Access读取到DataSet(使用OleDBDataAdapter执行查询)
You can do it easily, read the data from MS Access to a DataSet(use OleDBDataAdapter to execute the query)
DataSet ds = new DataSet();
OleDBDataAdapter da =新的OleDBDataAdapter("query",connection);
数据填充(ds)
ds.WriteXML(FilePath)将在指定路径中创建xml文件.
ds.WriteXML(FilePath) will create you the xml file in specified path.
我的代码是c#,您可以将其转换为vb
My code is c# you can convert it to vb
这篇关于要将ms访问表数据导出到xml的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!