VB(xml) 行继续标志太多,该xml5619怎么解决决

使用vb.net如何读取XML文件_百度知道
使用vb.net如何读取XML文件
OracleClient&Data Source=&User id=UX;Password=U
connectionString=&
&99& defaultCommandTimeout=&quot,请指教;&DataSources&User id=U defaultTransactionTimeout=&
providerName=&99&quot.X&这个信息; defaultConnectionTimeout=& encoding=&DataName&&#47请教大家一个关于“使用vb.DataAccess:&;dataSourceConfig defaultDataSource=&O99&请问如何才能取得&Data Source=&/&quot?xml version=&Password=USXXXXX&&& ?&
/dataSourceConfig&AAAAAAAAAA& defaultProviderName=&add
name=&quot.D
&lt.Client&quot.net如何读取XML文件”的问题;DataSources&gt。现有一段XML文件内容,谢谢
UserInfo = xmlnode.SelectSingleNode(&connectionString&quotDim strConfig As String = AppPath + &quot.XmlNode = doc.Read())
If (Dim reader As New Xadd&quot.XmlDocument
doc.Load(reader)
Dim DataSources As X\)
Dim xmlnode As X);System\)
'----这就是
end ifEnd WhiledataSourceConfig&quot.Item(&quot.XmlTextReader(strConfig)dim UserInfo As StringWhile (reader.Item(&quot.XmlNode = DataSources.Attributes (&quot.IsStartElement()) Then
Dim doc As New Xml.xml&DataSources&quot
其他类似问题
为您推荐:
其他1条回答
使用DataSet类来完成这项任务。
DataSet对象在传输时,是以XML流的形式而不是以COM形式传输的。DataSet对象可以读取XML数据文件或者数据流,从而将树型结构的XML数据转换成关系型的数据,如表(DataTable)、列(DataColumn)、行(DataRow)等。
在这个实例中,我们将XML文件命名为“xmlfile.xml”,具体内容如下:
&?xml version=\&1.0\&standalone=”yes”?&
&Name&Manish&/Name&
&Age&22&/Age&
&/Person&
&/Detail&
\'用VB.NET读写XML文件
C1aSS WriteXML
Shared Sub main()
Dim obj DataSet As New System.Data.DataSet()
Dim strVirtualPath As String=”t.xml”
\'载入XML文件DataSet
xml文件的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁vb-xmlhttp控件属性方法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
vb-xmlhttp控件属性方法
上传于||暂无简介
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩3页未读,继续阅读
你可能喜欢- ITeye技术网站
Private Sub GenerateTaxFileXml(ByRef iTaxYr As Short)
On Error GoTo erhd
Dim sFileName As String
Dim oFileSys As Scripting.FileSystemObject
Dim xmlDoc As MSXML2.DOMDocument
Dim Root As MSXML2.IXMLDOMElement
Dim oTextStream As Scripting.TextStream
Dim oSQL As ClsMySQL
'Dim rsRv As ADODB.Recordset
Dim sBuffer As String
Dim sBufferHeader As String
Dim sEmpyrTaxFIleNo As String
Dim sEmpyrNm As String
Dim sDesgn As String
Dim lRecordCount As Integer
Dim cTotAmt As Decimal
Dim lBtNo As Integer
Dim sSubDte As String
Dim sMsg As String
oSQL = New ClsMySQL
sFileName = GetExportDir() & VB6.Format(iTaxYr, "0000") & sTaxFile
oFileSys = New Scripting.FileSystemObject
'生成一个XML DOMDocument对象
xmlDoc = New MSXML2.DOMDocument
'生成根节点并把它设置为文件的根
Root = xmlDoc.createElement("IR56B")
xmlDoc.documentElement = Root
'在节点上添加多个属性
Call Root.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance")
Call Root.setAttribute("xmlns", "/ReK3Inventory")
'-------------------------------------
'Dim XmlWrite As System.Xml.XmlTextWriter = New System.Xml.XmlTextWriter(sFileName, System.Text.Encoding.UTF8)
' XmlWrite.WriteStartDocument() '开始一个文档,写下图第一行
'XmlWrite.WriteStartElement("IR56B") '开始一个元素,根元素
'XmlWrite.WriteAttributeString("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance") '元素属性
'XmlWrite.WriteAttributeString("xsi:noNamespaceSchemaLocation", "ir56b.xsd") '元素属性
'XmlWrite.WriteStartElement("Section") '开始一个元素book
oTextStream = oFileSys.OpenTextFile(sFileName, Scripting.IOMode.ForWriting, True)
Using gConAPCA As New OleDbConnection(gStrAPCA)
oSQL.ReSet_Renamed()
oSQL.SqlType = ClsMySQL.StatmentType.TYPE_SELECT
oSQL.AddTable("TBL_APCA_FST_PTY_INFO")
oSQL.AddFields("TAX_FL_NO", "NM", "DESGN")
gReader = QueryByReader(gConAPCA, oSQL.SQL)
If gReader.Read Then
sEmpyrTaxFIleNo = Null2Str(gReader("TAX_FL_NO"))
sEmpyrNm = Null2Str(gReader("NM"))
sDesgn = Null2Str(gReader("DESGN"))
gReader.Close()
oSQL.ReSet_Renamed()
oSQL.AddTable("TBL_APCA_TAX_REPORT")
oSQL.AddSimpleFuncField("COUNT", , , "REC_COUNT")
oSQL.AddSimpleFuncField("SUM", "TOT_INCOME", , "TOT")
oSQL.AddFields("BT_NO", "SUB_DTE")
oSQL.AddGroupBy("BT_NO")
oSQL.AddGroupBy("SUB_DTE")
gReader = QueryByReader(gConAPCA, oSQL.SQL)
If gReader.Read Then
lRecordCount = Null2Zero(gReader("REC_COUNT"))
cTotAmt = Null2Zero(gReader("TOT"))
lBtNo = CInt(Null2Str(gReader("BT_NO")))
sSubDte = VB6.Format(gReader("SUB_DTE").ToString, "YYYYMMDD")
gReader.Close()
sBuffer = FillStringWithSpaceRight(VB.Left(sEmpyrTaxFIleNo, 3), 3)
sBuffer = sBuffer & FillStringWithSpaceRight(VB.Right(sEmpyrTaxFIleNo, 8), 8)
sBuffer = sBuffer & FillStringWithSpaceRight(CStr(iTaxYr), 4)
sBuffer = sBuffer & FillStringWithSpaceRight(sSubDte, 8)
sBuffer = sBuffer & FillStringWithZero(CStr(lBtNo), 5)
sBuffer = sBuffer & New String("0", 6)
sBuffer = sBuffer & Space(9)
sBuffer = sBuffer & FillStringWithSpaceRight(sEmpyrNm, 70)
sBuffer = sBuffer & FillStringWithSpaceRight(sDesgn, 25)
sBuffer = sBuffer & FillStringWithZero(CStr(lRecordCount), 5)
sBuffer = sBuffer & FillStringWithZero(CStr(cTotAmt), 11)
sBuffer = sBuffer & Space(1480)
oTextStream.WriteLine(sBuffer)
oSQL.ReSet_Renamed()
oSQL.SqlType = ClsMySQL.StatmentType.TYPE_SELECT
oSQL.AddTable("TBL_APCA_TAX_REPORT")
sBufferHeader = FillStringWithSpaceRight(VB.Left(sEmpyrTaxFIleNo, 3), 3)
sBufferHeader = sBufferHeader & FillStringWithSpaceRight(VB.Right(sEmpyrTaxFIleNo, 8), 8)
sBufferHeader = sBufferHeader & FillStringWithSpaceRight(CStr(iTaxYr), 4)
sBufferHeader = sBufferHeader & FillStringWithSpaceRight(sSubDte, 8)
sBufferHeader = sBufferHeader & FillStringWithZero(CStr(lBtNo), 5)
gReader = QueryByReader(gConAPCA, oSQL.SQL)
Do While gReader.Read
sBuffer = sBufferHeader & FillStringWithZero(CStr(gReader("SHEET_NO").ToString), 6)
sBuffer = sBuffer & FillStringWithSpaceLeft(Null2Str(gReader("HK_ID")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("STUS")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("S_NM")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("NM")), 55)
sBuffer = sBuffer & FillChiStringWithSpaceRight(Null2Str(gReader("C_NM")), 50)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("GENDER")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("M_STUS")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PASPT_NO")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PASPT_ISSUE_BY")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("SPO_NM")), 50)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("SPO_HKID")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("SPO_PASPT_NO")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("SPO_PASPT_ISSUE_BY")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_ADDR")), 90)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("AR_CDE")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("CORR_ADDR")), 60)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("CAPCTY")), 40)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRIN_EMPYR")), 30)
sBuffer = sBuffer & VB6.Format(gReader("JOIN_DTE").ToString, "YYYYMMDD")
sBuffer = sBuffer & VB6.Format(gReader("CESS_DTE").ToString, "YYYYMMDD")
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_SLRY")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("SLRY")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_LEV_PAY")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("LEV_PAY")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_DIR_FEE")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("DIR_FEE")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_COMM")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("COMM")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_BNS")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("BNS")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_BACK_PAY")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("BACK_PAY")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_RETR_SCHM_PMNT")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RETR_SCHM_PMNT")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_SLRY_TAX_EMPYR")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("SLRY_TAX_EMPYR")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_EDUC_BNF")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("EDUC_BNF")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_SHR_OPT_GAIN")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("SHR_OPT_GAIN")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_NATURE1")), 35)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_PRD1")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RWD_AMT1")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_NATURE2")), 35)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_PRD2")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RWD_AMT2")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_NATURE3")), 35)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_PRD3")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RWD_AMT3")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_PNSN")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("PNSN")), 9)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("TOT_INCOME")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_IND")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_ADDR_1")), 110)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_NATURE_1")), 19)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_R_1")), 26)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYR_1")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYE_1")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_RFND_EMPYE_1")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYR_EMPYE_1")), 7)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_ADDR_2")), 110)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_NATURE_2")), 19)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_R_2")), 26)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYR_2")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYE_2")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_RFND_EMPYE_2")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYR_EMPYE_2")), 7)
If gReader("OSEA_AMT").Equals(DBNull.Value) And gReader("OSEA_ADDR").Equals(DBNull.Value) And gReader("OSEA_NM").Equals(DBNull.Value) Then
sBuffer = sBuffer & "0"
sBuffer = sBuffer & "1"
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("OSEA_AMT")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("OSEA_NM")), 60)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("OSEA_ADDR")), 60)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("EMPYE_TAX_FL_NO")), 13)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RMK")), 60)
oTextStream.WriteLine(sBuffer)
'rsRv.MoveNext()
gReader.Close()
'End of file
oTextStream.Write(Chr(26))
oTextStream.Close()
oSQL.ReSet_Renamed()
oSQL.SqlType = ClsMySQL.StatmentType.TYPE_INSERT
oSQL.AddTable("TBL_APCA_AUD_LOG")
oSQL.AddField("USR")
oSQL.AddValue(sUserID)
oSQL.AddField("ACT")
oSQL.AddValue("S")
oSQL.AddField("LOG_TM")
oSQL.AddValue(VB6.Format(Today, "dd MMM YYYY") & " " & TimeOfDay)
oSQL.AddField("DESC")
sMsg = FormatMsg(My.Resources.str19011, CStr(iTaxYr), oFileSys.GetAbsolutePathName(sFileName))
oSQL.AddValue(sMsg)
'OpenRs(oSQL.SQL)
Call ExeNonQuery(gConAPCA, oSQL.SQL)
ShowInfo(sMsg)
'直接保存成文件即可
'xmlDoc.save(sFileName)
'调用IE浏览器打开xml文件
ShellExecute(Me.Handle.ToInt32, "explore", oFileSys.GetParentFolderName(sFileName) & vbNullChar, "", "", modShell.enuShowWindow.SW_SHOW)
oTextStream = Nothing
oFileSys = Nothing
'rsRv = Nothing
oSQL = Nothing
oTextStream = Nothing
oFileSys = Nothing
'rsRv = Nothing
oSQL = Nothing
MyErrorRaise(Err.Description)
------------------------
Dim oFso As New FileSystemObject
Dim oFile As Object
Dim xmlDoc As MSXML2.DOMDocument
nowDate = CStr(Year(Date)) & CStr(Month(Date)) & CStr(Day(Date))
ePath = expPath.Text + "/" + nowDate
Set xmlDoc = New MSXML2.DOMDocument
xmlDoc.validateOnParse = False
xmlDoc.async = False
Set oFso = CreateObject("scripting.filesystemobject")
If oFso.FileExists(ePath + ".xml") Then
oFso.DeleteFile ePath + ".xml"
Set oFile = oFso.OpenTextFile(ePath + ".xml", 8, True)
Dim str As String
str = "select ajbh from gab_mala where ifexp is null or ifexp=''"
oRs.Open str, oConn, 1, 1
Do While Not oRs.EOF
tempzdaj = "&zdaj:record ajbh='" + oRs("ajbh") + "'&&ma&&la&"
oFile.WriteLine (tempzdaj)
str = "select xckybh,ladwdm,ladwxc,ajlb1,ajlb2,ajlb3,ajxz1,larq,swrs,ssrs,fxdz,fxdzxz,fxcs,fxbw,zwyw,dnayw,"
str = str + "zjyw,xdhwyw,gj,gjhj,qthjwz,bjwp,zasjsx,zasjxx,fxzarscz,fxzarszz,zagj,qhdx,srcs,qrfs,jcfs,srfs,"
str = str + "wzmj,tlfs,zasdtdms,aqms,zayy,lcfzyj,zazzhzbzcy,lxdh,xsjsfzr,gajgfzr,tbr,tbrq from gab_mala where ajbh='" & oRs("ajbh") & "'"
oRsTemp.Open str, oConn, 1, 1
Do While Not oRsTemp.EOF
Set root = xmlDoc.createNode(1, "jbxx", "")
Set temp = xmlDoc.appendChild(root)
Set onode = xmlDoc.createNode("element", "rec", "")
Set temp = root.appendChild(onode)
For i = 0 To oRsTemp.Fields.Count - 1
Set child = xmlDoc.createNode("element", oRsTemp.Fields(i).Name, "")
If Not IsNull(oRsTemp.Fields(i)) Then
If oRsTemp.Fields(i).Name = UCase("fxcs") Or oRsTemp.Fields(i).Name = UCase("fxbw") Or oRsTemp.Fields(i).Name = UCase("zagj") Or oRsTemp.Fields(i).Name = UCase("qhdx") Or oRsTemp.Fields(i).Name = UCase("srcs") Or oRsTemp.Fields(i).Name = UCase("qrfs") Or oRsTemp.Fields(i).Name = UCase("jcfs") Or oRsTemp.Fields(i).Name = UCase("srfs") Or oRsTemp.Fields(i).Name = UCase("wzmj") Or oRsTemp.Fields(i).Name = UCase("zayy") Then
childext = CL(oRsTemp.Fields(i))
child.Text = oRsTemp.Fields(i)
child.Text = ""
Set temp = onode.appendChild(child)
rstoxml = root.xml
oFile.WriteLine (rstoxml)
xmlDoc.removeChild (root)
oRsTemp.MoveNext
oRsTemp.Close
str = "select manid from caseman where caseno='" & oRs("ajbh") & "'"
oRs1.Open str, oConn, 1, 1
If oRs1.RecordCount & 0 Then
Set root = xmlDoc.createNode(1, "xyry", "")
Set temp = xmlDoc.appendChild(root)
Do While Not oRs1.EOF
str = "select ztrybh,name as xm,othername as bmhch,sex as xb,birthday as csrqsx,birthday as csrqxx,jzd as hjd,ABODEADDR as hjdxz,STATURE as sgsx,STATURE as sgxx,ACCENT as ky,BODYSHAPE as tmtz,FACESHAPE as tbbj,'' as qttz,SPEC as zc,CARDID as sfzh,'' as qtzjmc,'' as qtzjhm,'' as zp from smaninfo"
str = str + " where manid='" & oRs1("manid") & "'"
oRsTemp.Open str, oConn, 1, 1
Do While Not oRsTemp.EOF
Set onode = xmlDoc.createNode("element", "rec", "")
Set temp = root.appendChild(onode)
For i = 0 To oRsTemp.Fields.Count - 1
Set child = xmlDoc.createNode("element", oRsTemp.Fields(i).Name, "")
If Not IsNull(oRsTemp.Fields(i)) Then
If oRsTemp.Fields(i).Name = UCase("ky") Or oRsTemp.Fields(i).Name = UCase("tmtz") Or oRsTemp.Fields(i).Name = UCase("tbbj") Or oRsTemp.Fields(i).Name = UCase("zc") Then
child.Text = CL(oRsTemp.Fields(i))
If oRsTemp.Fields(i).Name = UCase("csrqsx") Or oRsTemp.Fields(i).Name = UCase("csrqxx") Then
child.Text = CLDate(oRsTemp.Fields(i))
If oRsTemp.Fields(i).Name = UCase("ztrybh") Then
child.Text = "T" + oRsTemp.Fields(i)
child.Text = oRsTemp.Fields(i)
child.Text = ""
Set temp = onode.appendChild(child)
oRsTemp.MoveNext
oRsTemp.Close
oRs1.MoveNext
If oRs1.RecordCount & 0 Then
rstoxml = root.xml
oFile.WriteLine (rstoxml)
xmlDoc.removeChild (root)
oRs1.Close
tempzdaj = "&/la&&/ma&&/zdaj:record&"
oFile.WriteLine (tempzdaj)
oRs.MoveNext
set oFso=Nothing
'生成一个XML DOMDocument对象
xmlDoc = New MSXML2.DOMDocument
'生成根节点并把它设置为文件的根
Root = xmlDoc.createElement("employees")
xmlDoc.documentElement = Root
'在节点上添加多个属性
Call Root.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance")
Call Root.setAttribute("xmlns", "/ReK3Inventory")
'添加xml文件格式:换行+空格 (1级节点)
Root.appendChild(xmlDoc.createTextNode(vbCrLf & Space(8)))
'添加DataService节点
Dim eleDataService As MSXML2.IXMLDOMElement
eleDataService = xmlDoc.createElement("DataService")
Root.appendChild(eleDataService)
'添加xml文件格式:换行+空格+空格(2级节点)
eleDataService.appendChild(xmlDoc.createTextNode(vbCrLf & Space(16)))
'添加 Name 属性
eleDataService.setAttribute("Name", "zhuyl")
'添加DataService节点的子节点 Ip
Dim eleDataServiceIp As MSXML2.IXMLDOMElement
eleDataServiceIp = xmlDoc.createElement("Ip")
eleDataService.appendChild(eleDataServiceIp)
'添加xml文件格式:换行+空格(1级节点),结束1级节点配置
eleDataService.appendChild(xmlDoc.createTextNode(vbCrLf & Space(8)))
'添加xml文件格式:换行+空格+空格,结束根结点配置
Root.appendChild(xmlDoc.createTextNode(vbCrLf))
--------------------
adapterConfigFilePath = Me.maFileName & "AdapterConfig.xml"
xmlDom = New DOMDocument50
xmlDoc.async = False
xmlDoc.load(adapterConfigFilePath)
'如果文件存在,但大小为0字节,则删除该文件
If (fso.FileExists(adapterConfigFilePath) = True) Then
If (fso.GetFile(adapterConfigFilePath).Size = 0) Then
fso.GetFile(adapterConfigFilePath).Delete()
'检查AdapterConfig.xml文件是否存在:若存在,则读取文件的值,并显示在窗体上
If (fso.FileExists(adapterConfigFilePath) = True) Then
element = xmlDoc.selectSingleNode("//AdapterConfig")
Me.txtAdapterName.Text = element.selectSingleNode("AdapterName").Text
Dim strAdapterType As String
strAdapterType = element.selectSingleNode("AdapterType").Text
If (strAdapterType = "DataBase" Or strAdapterType = "") Then
'单选按钮数据库 设置为被选中
Me.optAdapterType1.Item(0).Value = True
If (strAdapterType = "File") Then
Me.optAdapterType1.Item(1).Value = True
ElseIf (strAdapterType = "Api") Then
Me.optAdapterType1.Item(2).Value = True
ElseIf (strAdapterType = "SDE") Then
Me.optAdapterType1.Item(3).Value = True
'应用,为应用列表赋值
elePM = element.selectSingleNode("ApplicationParameter")
If (Not (elePM Is Nothing)) Then
paramList = element.selectNodes("ApplicationParameter")
For i = 0 To paramList.length - 1
eleParam = paramList.Item(i)
Me.lstAppParameter.AddItem(eleParam.getAttribute("Name"))
Dim fso As New FileSystemObject
netConfigPath = frmMain.maFileName & "AdapterNetConfig.xml"
xmlDom = New DOMDocument50
xmlDoc.async = False
xmlDoc.load(netConfigPath)
'检查AdapterNetConfig.xml文件是否存在:若不存在,则创建;存在,则显示值到窗体上If (fso.FileExists(netConfigPath) = True) Then
'必填项全部填写,保存修改的内容
Root = xmlDoc.selectSingleNode("AdapterNetConfig")
'为节点赋值
Root.selectSingleNode("DataService/Ip").text = Me.txtAdapterReceiveIp.Text
Root.selectSingleNode("DataService/Port").text = Me.txtAdapterReceivePort.Text
Root.selectSingleNode("DataService/TimeOut").text = Me.txtAdapterReceiveTimeout.Text
Root.selectSingleNode("CommandService/Ip").text = Me.txtCmdReceiveIp.Text
Root.selectSingleNode("CommandService/Port").text = Me.txtCmdReceivePort.Text
Root.selectSingleNode("CommandService/TimeOut").text = Me.txtCmdReceiveTimeout.Text
Root.selectSingleNode("DataExchangeServer/Ip").text = Me.txtSendToServerIp.Text
Root.selectSingleNode("DataExchangeServer/Port").text = Me.txtSendToServerPort.Text
Root.selectSingleNode("DataExchangeServer/TimeOut").text = Me.txtSendToServerTimeout.Text
xmlDoc.save(netConfigPath)
MsgBox("保存成功!")
xml文件格式化
'获取AdapterConfig.xml所在路径---&maFileName
adapterConfigFilePath = Me.maFileName & "AdapterConfig.xml"
xmlDom = New DOMDocument50
xmlDoc.async = False
xmlDoc.load(adapterConfigFilePath)
'如果文件存在,但大小为0字节,则删除该文件
If (fso.FileExists(adapterConfigFilePath) = True) Then
If (fso.GetFile(adapterConfigFilePath).Size = 0) Then
fso.GetFile(adapterConfigFilePath).Delete()
'检查AdapterConfig.xml文件是否存在:若存在,则读取文件的值,并显示在窗体上
If (fso.FileExists(adapterConfigFilePath) = False) Then
If (MsgBox(adapterConfigFilePath & "不存在,现在就创建该文件吗?", vbYesNo, "创建文件提示") = vbYes) Then
Dim root As IXMLDOMElement
root = xmlDoc.createElement("AdapterConfig")
xmlDoc.documentElement = root
root.appendChild(xmlDoc.createTextNode(vbCrLf & Space(8)))
'添加 AdapterName 节点
Dim eleAdpName As IXMLDOMElement
eleAdpName = xmlDoc.createElement("AdapterName")
root.appendChild(eleAdpName)
root.appendChild(xmlDoc.createTextNode(vbCrLf & Space(8)))
'添加 AdapterType 节点
Dim eleAdpType As IXMLDOMElement
eleAdpType = xmlDoc.createElement("AdapterType")
root.appendChild(eleAdpType)
'设置默认值为“DataBase”
Dim txtAdpTypeNew As IXMLDOMText
txtAdpTypeNew = xmlDoc.createTextNode("DataBase")
eleAdpType.appendChild(txtAdpTypeNew)
root.appendChild(xmlDoc.createTextNode(vbCrLf & Space(8)))
'添加 AppParam 节点
Dim eleAppParam As IXMLDOMElement
eleAppParam = xmlDoc.createElement("AppParam")
root.appendChild(eleAppParam)
eleAppParam.appendChild(xmlDoc.createTextNode(vbCrLf & Space(16)))
'添加 PacketSize 节点
Dim elePacketSize As IXMLDOMElement
elePacketSize = xmlDoc.createElement("PacketSize")
eleAppParam.appendChild(elePacketSize)
eleAppParam.appendChild(xmlDoc.createTextNode(vbCrLf & Space(16)))
'添加 HeartBeatTime 节点
Dim eleHeartBeatTime As IXMLDOMElement
eleHeartBeatTime = xmlDoc.createElement("HeartBeatTime")
eleAppParam.appendChild(eleHeartBeatTime)
eleAppParam.appendChild(xmlDoc.createTextNode(vbCrLf & Space(8)))
root.appendChild(xmlDoc.createTextNode(vbCrLf & Space(8)))
'添加 ThreadNumber 节点
Dim eleThreadNum As IXMLDOMElement
eleThreadNum = xmlDoc.createElement("ThreadNumber")
root.appendChild(eleThreadNum)
eleThreadNum.appendChild(xmlDoc.createTextNode(vbCrLf & Space(16)))
'添加 SendToServer 节点
Dim eleThreadSendToServer As IXMLDOMElement
eleThreadSendToServer = xmlDoc.createElement("SendToServer")
eleThreadNum.appendChild(eleThreadSendToServer)
eleThreadNum.appendChild(xmlDoc.createTextNode(vbCrLf & Space(16)))
'添加 ReceiveApplication 节点
Dim eleThreadReceiveApp As IXMLDOMElement
eleThreadReceiveApp = xmlDoc.createElement("ReceiveApplication")
eleThreadNum.appendChild(eleThreadReceiveApp)
eleThreadNum.appendChild(xmlDoc.createTextNode(vbCrLf & Space(8)))
root.appendChild(xmlDoc.createTextNode(vbCrLf & Space(8)))
'添加 NoDataWaitTime 节点
Dim eleNoDataWaitTime As IXMLDOMElement
eleNoDataWaitTime = xmlDoc.createElement("NoDataWaitTime")
root.appendChild(eleNoDataWaitTime)
eleNoDataWaitTime.appendChild(xmlDoc.createTextNode(vbCrLf & Space(16)))
'添加 SendToServer 节点
Dim eleNoDataSendToServer As IXMLDOMElement
eleNoDataSendToServer = xmlDoc.createElement("SendToServer")
eleNoDataWaitTime.appendChild(eleNoDataSendToServer)
eleNoDataWaitTime.appendChild(xmlDoc.createTextNode(vbCrLf & Space(16)))
'添加 ReceiveApplication 节点
Dim eleNoDataReceiveApp As IXMLDOMElement
eleNoDataReceiveApp = xmlDoc.createElement("ReceiveApplication")
eleNoDataWaitTime.appendChild(eleNoDataReceiveApp)
eleNoDataWaitTime.appendChild(xmlDoc.createTextNode(vbCrLf & Space(8)))
root.appendChild(xmlDoc.createTextNode(vbCrLf & Space(8)))
'添加 FailedOperationWaitTime 节点
Dim eleFailedWaitTime As IXMLDOMElement
eleFailedWaitTime = xmlDoc.createElement("FailedOperationWaitTime")
root.appendChild(eleFailedWaitTime)
eleFailedWaitTime.appendChild(xmlDoc.createTextNode(vbCrLf & Space(16)))
'添加 SendToServer 节点
Dim eleFailedSendToServer As IXMLDOMElement
eleFailedSendToServer = xmlDoc.createElement("SendToServer")
eleFailedWaitTime.appendChild(eleFailedSendToServer)
eleFailedWaitTime.appendChild(xmlDoc.createTextNode(vbCrLf & Space(16)))
'添加 ReceiveApplication 节点
Dim eleFailedReceiveApp As IXMLDOMElement
eleFailedReceiveApp = xmlDoc.createElement("ReceiveApplication")
eleFailedWaitTime.appendChild(eleFailedReceiveApp)
eleFailedWaitTime.appendChild(xmlDoc.createTextNode(vbCrLf & Space(8)))
root.appendChild(xmlDoc.createTextNode(vbCrLf))
' //************* 上面的内容都保存在xmlDoc 中,在点击“保存”按钮的时候,暂不保存到文件,新创建一个xmlDocFormat 对象,读取 xmlDoc 对象中的值,填充到 xmlDocFormat 文档中,加上换行和空格,进行格式化操作 ************//
'''''''' 格式化生成的xml文件 '''''''''''''
'如果文件存在,但大小为0字节,则删除该文件,重新创建之
If (fso.FileExists(adapterConfigFilePath) = True) Then
fso.GetFile(adapterConfigFilePath).Delete()
fso.CreateTextFile(adapterConfigFilePath)
Dim xmlDocFormat As DOMDocument50
Dim versionFormat As IXMLDOMProcessingInstruction
xmlDocFormat = New DOMDocument50
xmlDocFormat.async = False
xmlDocFormat.Load(adapterConfigFilePath)
'添加xml文件版本号,编码语言
versionFormat = xmlDocFormat.createProcessingInstruction("xml", "version=" & Chr(34) & "1.0" & Chr(34) & Space(8) & "encoding=" & Chr(34) & "GBK" & Chr(34))
xmlDocFormat.appendChild(versionFormat)
'添加根结点
Dim rootFormat As IXMLDOMElement
rootFormat = xmlDocFormat.createElement("AdapterConfig")
xmlDocFormat.documentElement = rootFormat
'添加xml文件格式:换行+空格 (1级节点)
rootFormat.appendChild(xmlDocFormat.createTextNode(vbCrLf & Space(4)))
'添加 AdapterName 节点
Dim eleAdpNameFormat As IXMLDOMElement
eleAdpNameFormat = xmlDocFormat.createElement("AdapterName")
rootFormat.appendChild(eleAdpNameFormat)
'设置 AdapterName 节点的值
Dim txtAdpNameFormat As IXMLDOMText
txtAdpNameFormat = xmlDocFormat.createTextNode(Root.selectSingleNode("AdapterName").text)
eleAdpNameFormat.appendChild(txtAdpNameFormat)
'添加xml文件格式:换行+空格 (1级节点)
rootFormat.appendChild(xmlDocFormat.createTextNode(vbCrLf & Space(4)))
'添加 AdapterType 节点
Dim eleAdpTypeFormat As IXMLDOMElement
eleAdpTypeFormat = xmlDocFormat.createElement("AdapterType")
rootFormat.appendChild(eleAdpTypeFormat)
'设置 AdapterType 节点的值
Dim txtAdpTypeFormat As IXMLDOMText
txtAdpTypeFormat = xmlDocFormat.createTextNode(Root.selectSingleNode("AdapterType").text)
eleAdpTypeFormat.appendChild(txtAdpTypeFormat)
'添加xml文件格式:换行+空格 (1级节点)
rootFormat.appendChild(xmlDocFormat.createTextNode(vbCrLf & vbCrLf & Space(4)))
'添加 AppParam 节点
Dim eleAppParamFormat As IXMLDOMElement
eleAppParamFormat = xmlDocFormat.createElement("AppParam")
rootFormat.appendChild(eleAppParamFormat)
'添加xml文件格式:换行+空格+空格 (2级节点)
eleAppParamFormat.appendChild(xmlDocFormat.createTextNode(vbCrLf & Space(8)))
'添加 PacketSize 节点
Dim elePacketSizeFormat As IXMLDOMElement
elePacketSizeFormat = xmlDocFormat.createElement("PacketSize")
eleAppParamFormat.appendChild(elePacketSizeFormat)
'设置 PacketSize 节点的值
Dim txtPacketSizeFormat As IXMLDOMText
txtPacketSizeFormat = xmlDocFormat.createTextNode(Root.selectSingleNode("AppParam/PacketSize").text)
elePacketSizeFormat.appendChild(txtPacketSizeFormat)
'添加xml文件格式:换行+空格+空格 (2级节点)
eleAppParamFormat.appendChild(xmlDocFormat.createTextNode(vbCrLf & Space(8)))
'添加 HeartBeatTime 节点
Dim eleHeartBeatTimeFormat As IXMLDOMElement
eleHeartBeatTimeFormat = xmlDocFormat.createElement("HeartBeatTime")
eleAppParamFormat.appendChild(eleHeartBeatTimeFormat)
'设置 HeartBeatTime 节点的值
Dim txtHeartBeatTimeFormat As IXMLDOMText
txtHeartBeatTimeFormat = xmlDocFormat.createTextNode(Root.selectSingleNode("AppParam/HeartBeatTime").text)
eleHeartBeatTimeFormat.appendChild(txtHeartBeatTimeFormat)
'添加xml文件格式:换行+空格格 (1级节点)
eleAppParamFormat.appendChild(xmlDocFormat.createTextNode(vbCrLf & Space(4)))
'添加xml文件格式:换行+空格 (1级节点)
rootFormat.appendChild(xmlDocFormat.createTextNode(vbCrLf))
xmlDocFormat.save(adapterConfigFilePath)
MsgBox("保存成功!")
Dim oFileSys As Scripting.FileSystemObject
Dim oFile As Scripting.TextStream
Dim sFileName As String
Dim xmlDoc As MSXML2.DOMDocument
Dim Root As MSXML2.IXMLDOMElement
Dim Rs As ADODB.Recordset
Dim Conn As ADODB.Connection
Dim tempNode As MSXML2.IXMLDOMNode
Dim emp As MSXML2.IXMLDOMElement
oFileSys = New Scripting.FileSystemObject
sFileName = GetExportDir() & VB6.Format(iTaxYr, "0000") & sTaxFile
'delete old tax file
If oFileSys.FileExists(sFileName) Then
oFileSys.DeleteFile(sFileName)
oFile = oFileSys.OpenTextFile(sFileName, Scripting.IOMode.ForWriting, True)
'生成一个XML DOMDocument对象
xmlDoc = New MSXML2.DOMDocument
xmlDoc.validateOnParse = False
xmlDoc.async = False
'生成根节点并把它设置为文件的根
Root = xmlDoc.createElement("employees")
xmlDoc.documentElement = Root
'在节点上添加多个属性
Call Root.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance")
Call Root.setAttribute("xmlns", "/ReK3Inventory")
如何通过VB处理XML
首先要引用一个Microsoft XML 随便选个版本。
在初始化的时候读取XML显示到TXTBOX中,代码如下: '通过2进制流将XML文件读出来,也可以是其它文件格式
Private Function pstrUpdateView(istrXMLPath As String) As String
Dim wlngFreeFile As Long
Dim wbytwbytLoadBytes() As Byte
'获得一个空闲文件号
wlngFreeFile = FreeFile
Open istrXMLPath For Binary As #wlngFreeFile
ReDim wbytLoadBytes(1 To LOF(wlngFreeFile)) As Byte
Get #wlngFreeFile, , wbytLoadBytes
Close wlngFreeFile
pstrUpdateView = StrConv(wbytLoadBytes, vbUnicode)
End Function
装载XML。传进去一个XML地址,如果装载不成功就error,成功则执行下一步 Private Sub fsubLoadXML(istrXMLPath As String)
Set pobjXMLDoc = CreateObject("MSXML2.DOMDocument")
If pobjXMLDoc.Load(istrXMLPath) = False Then
On Error GoTo LoadXMLErr:
On Error GoTo 0
LoadXMLErr:
Set myErr = pobjXMLDoc.parseError
MsgBox ("ERROR:" & myErr.reason)
Set myErr = Nothing
读属性。DOMDocument对象里有2个读节点的方法:
selectNodes() 如果根节点下有多个子节点就要用这个方法,item定义了第几个子节点
selectSingleNode()如果根节点下只有一个字节点可以用这个方法
Private Function fstrReadAttr(istrNodes As String, istrAttribute As String) As String
On Error GoTo ErrHandle:
Dim wobjXmlAttr As MSXML2.IXMLDOMAttribute
Set wobjXmlAttr = pobjXMLDoc.selectNodes(istrNodes).Item(0).Attributes.getNamedItem(istrAttribute)
Set wobjXmlAttr = pobjXMLDoc.selectSingleNode(istrNodes).Attributes.getNamedItem(istrAttribute)
fstrReadAttr = wobjXmlAttr.Text
'destroy object
Set wobjXmlAttr = Nothing
On Error GoTo 0
Exit Function
ErrHandle:
MsgBox Err.Description
Set wobjXmlAttr = Nothing
End Function
读节点。 call fstrReadNode("/test/user") ,参数是test节点下的user子节点 Private Function fstrReadNode(istrNodes As String) As String
Dim xNode As MSXML2.IXMLDOMNode
Set xNode = pobjXMLDoc.selectSingleNode(istrNodes)
fstrReadNode = xNode.Text
Set xNode = Nothing
End Function
写节点。参数1:节点;参数2:需要写入的值 Private Sub fsubWriteNode(istrNodes As String, istrValue As String)
Dim wobjXMLNode As IXMLDOMElement
Set wobjXMLNode = pobjXMLDoc.documentElement.selectNodes(istrNodes).Item(0)
wobjXMLNode.Text = istrValue
Set wobjXMLNode = Nothing
a sample :download
--------------------------------------------------------------------------------
转自:http://blog.csdn.net/kinytx/
MSXML 处理 xml 文档时外部DTD定义的问题(ASP)
项目中碰到这个问题,所以也贴了出来
xmlfile = "http://myserver/catalog.xml"
xslfile = "catalog.xsl"
' 创建相关对象
Set xslDoc = server.CreateObject("MSXML2.FreeThreadedDOMDocument")
Set xmlDoc = server.CreateObject("MSXML2.DOMDocument")
' 读取xsl文件
xsldoc.async = False
xsldoc.resolveExternals = True
xsldoc.load server.MapPath(xslfile)
' 读取xml文件
xmldoc.setProperty "ServerHTTPRequest",True
' 设置ServerHTTPRequest 属性为 True 为了通过http协议载入xml文档
xmldoc.async = False ' 设置 async属性为 False 关闭异步调用
xmldoc.resolveExternals = True ' 设置 resolveExternals 为 True 打开外部DTD分析
xmldoc.validateOnParse = False ' 设置 validateOnParse 为 False 允许文档验证
xmldoc.load xmlfile ' 读取xml文档
Do While (xmldoc.ReadyState & 4)
' 检查ReadyState状态值是否为4 ' 具体数值定义参见msxml sdk document
xmldoc.waitForResponse 10 ' 通过waitForResponse方法等待文档完全读取完毕 ' 如果为读取完成,系统暂停10毫秒
' 转换xml -& html 并输出文档
xmldoc.transformNodeToObject xsldoc,Response
' 清空对象
Set xslt = Nothing
Set xsldoc = Nothing
Set xmldoc = Nothing
&?xml version="1.0" encoding="UTF-8"?&
&IR56B xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ir56b.xsd"&
&Section&6A1&/Section&
&ERN&&/ERN&
&YrErReturn&2014&/YrErReturn&
&SubDate&&/SubDate&
&ErName&ABCD COMPANY&/ErName&
&Designation&PARTNER&/Designation&
&NoRecordBatch&00002&/NoRecordBatch&
&TotIncomeBatch&360000&/TotIncomeBatch&
&Employee&
&SheetNo&000001&/SheetNo&
&HKID&A1144556&/HKID&
&TypeOfForm&O&/TypeOfForm&
&Surname&AUYEUNG&/Surname&
&GivenName&TAI MAN&/GivenName&
&NameInChinese&歐陽大文&/NameInChinese&
&Sex&M&/Sex&
&MaritalStatus&2&/MaritalStatus&
&SpouseName&WONG, MEI MEI&/SpouseName&
&SpouseHKID&A456789A&/SpouseHKID&
&SpousePpNum /&
&ResAddr&Flat A, 8/F, 5 Mei Lai Road &/ResAddr&
&AreaCodeResAddr&K&/AreaCodeResAddr&
&PosAddr /&
&Capacity&CLERK&/Capacity&
&PtPrinEmp /&
&StartDateOfEmp&&/StartDateOfEmp&
&EndDateOfEmp&&/EndDateOfEmp&
&PerOfSalary& - &/PerOfSalary&
&AmtOfSalary&100000&/AmtOfSalary&
&PerOfLeavePay /&
&AmtOfLeavePay&0&/AmtOfLeavePay&
&PerOfDirectorFee /&
&AmtOfDirectorFee&0&/AmtOfDirectorFee&
&PerOfCommFee /&
&AmtOfCommFee&0&/AmtOfCommFee&
&PerOfBonus& - &/PerOfBonus&
&AmtOfBonus&50000&/AmtOfBonus&
&PerOfBpEtc /&
&AmtOfBpEtc&0&/AmtOfBpEtc&
&PerOfPayRetire /&
&AmtOfPayRetire&0&/AmtOfPayRetire&
&PerOfSalTaxPaid /&
&AmtOfSalTaxPaid&0&/AmtOfSalTaxPaid&
&PerOfEduBen /&
&AmtOfEduBen&0&/AmtOfEduBen&
&PerOfGainShareOption /&
&AmtOfGainShareOption&0&/AmtOfGainShareOption&
&NatureOtherRAP1 /&
&PerOfOtherRAP1 /&
&AmtOfOtherRAP1&0&/AmtOfOtherRAP1&
&NatureOtherRAP2 /&
&PerOfOtherRAP2 /&
&AmtOfOtherRAP2&0&/AmtOfOtherRAP2&
&NatureOtherRAP3 /&
&PerOfOtherRAP3 /&
&AmtOfOtherRAP3&0&/AmtOfOtherRAP3&
&PerOfPension /&
&AmtOfPension&0&/AmtOfPension&
&TotalIncome&150000&/TotalIncome&
&PlaceOfResInd&0&/PlaceOfResInd&
&AddrOfPlace1 /&
&NatureOfPlace1 /&
&PerOfPlace1 /&
&RentPaidEr1&0&/RentPaidEr1&
&RentPaidEe1&0&/RentPaidEe1&
&RentRefund1&0&/RentRefund1&
&RentPaidErByEe1&0&/RentPaidErByEe1&
&AddrOfPlace2 /&
&NatureOfPlace2 /&
&PerOfPlace2 /&
&RentPaidEr2&0&/RentPaidEr2&
&RentPaidEe2&0&/RentPaidEe2&
&RentRefund2&0&/RentRefund2&
&RentPaidErByEe2&0&/RentPaidErByEe2&
&OverseaIncInd&0&/OverseaIncInd&
&AmtPaidOverseaCo /&
&NameOfOverseaCo /&
&AddrOfOverseaCo /&
&Remarks /&
&/Employee&
&Employee&
&SheetNo&000002&/SheetNo&
&HKID&K1234560&/HKID&
&TypeOfForm&O&/TypeOfForm&
&Surname&LEE&/Surname&
&GivenName&SIU SUM&/GivenName&
&NameInChinese&李小森&/NameInChinese&
&Sex&F&/Sex&
&MaritalStatus&1&/MaritalStatus&
&SpouseName /&
&SpouseHKID /&
&SpousePpNum /&
&ResAddr&Flat B 2/F Block C Happy Garden 1 Happy Road &/ResAddr&
&AreaCodeResAddr&H&/AreaCodeResAddr&
&PosAddr /&
&Capacity&MANAGER&/Capacity&
&PtPrinEmp /&
&StartDateOfEmp&&/StartDateOfEmp&
&EndDateOfEmp&&/EndDateOfEmp&
&PerOfSalary& - &/PerOfSalary&
&AmtOfSalary&210000&/AmtOfSalary&
&PerOfLeavePay /&
&AmtOfLeavePay&0&/AmtOfLeavePay&
&PerOfDirectorFee /&
&AmtOfDirectorFee&0&/AmtOfDirectorFee&
&PerOfCommFee /&
&AmtOfCommFee&0&/AmtOfCommFee&
&PerOfBonus /&
&AmtOfBonus&0&/AmtOfBonus&
&PerOfBpEtc /&
&AmtOfBpEtc&0&/AmtOfBpEtc&
&PerOfPayRetire /&
&AmtOfPayRetire&0&/AmtOfPayRetire&
&PerOfSalTaxPaid /&
&AmtOfSalTaxPaid&0&/AmtOfSalTaxPaid&
&PerOfEduBen /&
&AmtOfEduBen&0&/AmtOfEduBen&
&PerOfGainShareOption /&
&AmtOfGainShareOption&0&/AmtOfGainShareOption&
&NatureOtherRAP1 /&
&PerOfOtherRAP1 /&
&AmtOfOtherRAP1&0&/AmtOfOtherRAP1&
&NatureOtherRAP2 /&
&PerOfOtherRAP2 /&
&AmtOfOtherRAP2&0&/AmtOfOtherRAP2&
&NatureOtherRAP3 /&
&PerOfOtherRAP3 /&
&AmtOfOtherRAP3&0&/AmtOfOtherRAP3&
&PerOfPension /&
&AmtOfPension&0&/AmtOfPension&
&TotalIncome&210000&/TotalIncome&
&PlaceOfResInd&1&/PlaceOfResInd&
&AddrOfPlace1&Flat B 21/F Block C Happy Garden 1 Happy Garden 1 Happy Road HK&/AddrOfPlace1&
&NatureOfPlace1&Flat&/NatureOfPlace1&
&PerOfPlace1& - &/PerOfPlace1&
&RentPaidEr1&0&/RentPaidEr1&
&RentPaidEe1&120000&/RentPaidEe1&
&RentRefund1&120000&/RentRefund1&
&RentPaidErByEe1&0&/RentPaidErByEe1&
&AddrOfPlace2 /&
&NatureOfPlace2 /&
&PerOfPlace2 /&
&RentPaidEr2&0&/RentPaidEr2&
&RentPaidEe2&0&/RentPaidEe2&
&RentRefund2&0&/RentRefund2&
&RentPaidErByEe2&0&/RentPaidErByEe2&
&OverseaIncInd&0&/OverseaIncInd&
&AmtPaidOverseaCo /&
&NameOfOverseaCo /&
&AddrOfOverseaCo /&
&Remarks /&
&/Employee&
Private Sub GenerateTaxFile(ByRef iTaxYr As Short)
On Error GoTo erhd
Dim oFileSys As Scripting.FileSystemObject
Dim oTextStream As Scripting.TextStream
Dim oSQL As ClsMySQL
'Dim rsRv As ADODB.Recordset
Dim sBuffer As String
Dim sBufferHeader As String
Dim sFileName As String
Dim sEmpyrTaxFIleNo As String
Dim sEmpyrNm As String
Dim sDesgn As String
Dim lRecordCount As Integer
Dim cTotAmt As Decimal
Dim lBtNo As Integer
Dim sSubDte As String
Dim sMsg As String
oSQL = New ClsMySQL
oFileSys = New Scripting.FileSystemObject
sFileName = GetExportDir() & VB6.Format(iTaxYr, "0000") & sTaxFile
'delete old tax file
If oFileSys.FileExists(sFileName) Then
oFileSys.DeleteFile(sFileName)
oTextStream = oFileSys.OpenTextFile(sFileName, Scripting.IOMode.ForWriting, True)
Using gConAPCA As New OleDbConnection(gStrAPCA)
oSQL.ReSet_Renamed()
oSQL.SqlType = ClsMySQL.StatmentType.TYPE_SELECT
oSQL.AddTable("TBL_APCA_FST_PTY_INFO")
oSQL.AddFields("TAX_FL_NO", "NM", "DESGN")
gReader = QueryByReader(gConAPCA, oSQL.SQL)
If gReader.Read Then
sEmpyrTaxFIleNo = Null2Str(gReader("TAX_FL_NO"))
sEmpyrNm = Null2Str(gReader("NM"))
sDesgn = Null2Str(gReader("DESGN"))
gReader.Close()
'-------------------------
oSQL.ReSet_Renamed()
oSQL.AddTable("TBL_APCA_TAX_REPORT")
oSQL.AddSimpleFuncField("COUNT", , , "REC_COUNT")
oSQL.AddSimpleFuncField("SUM", "TOT_INCOME", , "TOT")
oSQL.AddFields("BT_NO", "SUB_DTE")
oSQL.AddGroupBy("BT_NO")
oSQL.AddGroupBy("SUB_DTE")
gReader = QueryByReader(gConAPCA, oSQL.SQL)
If gReader.Read Then
lRecordCount = Null2Zero(gReader("REC_COUNT"))
cTotAmt = Null2Zero(gReader("TOT"))
lBtNo = CInt(Null2Str(gReader("BT_NO")))
sSubDte = VB6.Format(gReader("SUB_DTE").ToString, "YYYYMMDD")
gReader.Close()
sBuffer = FillStringWithSpaceRight(VB.Left(sEmpyrTaxFIleNo, 3), 3)
sBuffer = sBuffer & FillStringWithSpaceRight(VB.Right(sEmpyrTaxFIleNo, 8), 8)
sBuffer = sBuffer & FillStringWithSpaceRight(CStr(iTaxYr), 4)
sBuffer = sBuffer & FillStringWithSpaceRight(sSubDte, 8)
sBuffer = sBuffer & FillStringWithZero(CStr(lBtNo), 5)
sBuffer = sBuffer & New String("0", 6)
sBuffer = sBuffer & Space(9)
sBuffer = sBuffer & FillStringWithSpaceRight(sEmpyrNm, 70)
sBuffer = sBuffer & FillStringWithSpaceRight(sDesgn, 25)
sBuffer = sBuffer & FillStringWithZero(CStr(lRecordCount), 5)
sBuffer = sBuffer & FillStringWithZero(CStr(cTotAmt), 11)
sBuffer = sBuffer & Space(1480)
oTextStream.WriteLine(sBuffer)
oSQL.ReSet_Renamed()
oSQL.SqlType = ClsMySQL.StatmentType.TYPE_SELECT
oSQL.AddTable("TBL_APCA_TAX_REPORT")
sBufferHeader = FillStringWithSpaceRight(VB.Left(sEmpyrTaxFIleNo, 3), 3)
sBufferHeader = sBufferHeader & FillStringWithSpaceRight(VB.Right(sEmpyrTaxFIleNo, 8), 8)
sBufferHeader = sBufferHeader & FillStringWithSpaceRight(CStr(iTaxYr), 4)
sBufferHeader = sBufferHeader & FillStringWithSpaceRight(sSubDte, 8)
sBufferHeader = sBufferHeader & FillStringWithZero(CStr(lBtNo), 5)
gReader = QueryByReader(gConAPCA, oSQL.SQL)
Do While gReader.Read
sBuffer = sBufferHeader & FillStringWithZero(CStr(gReader("SHEET_NO").ToString), 6)
sBuffer = sBuffer & FillStringWithSpaceLeft(Null2Str(gReader("HK_ID")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("STUS")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("S_NM")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("NM")), 55)
sBuffer = sBuffer & FillChiStringWithSpaceRight(Null2Str(gReader("C_NM")), 50)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("GENDER")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("M_STUS")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PASPT_NO")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PASPT_ISSUE_BY")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("SPO_NM")), 50)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("SPO_HKID")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("SPO_PASPT_NO")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("SPO_PASPT_ISSUE_BY")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_ADDR")), 90)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("AR_CDE")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("CORR_ADDR")), 60)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("CAPCTY")), 40)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRIN_EMPYR")), 30)
sBuffer = sBuffer & VB6.Format(gReader("JOIN_DTE").ToString, "YYYYMMDD")
sBuffer = sBuffer & VB6.Format(gReader("CESS_DTE").ToString, "YYYYMMDD")
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_SLRY")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("SLRY")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_LEV_PAY")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("LEV_PAY")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_DIR_FEE")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("DIR_FEE")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_COMM")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("COMM")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_BNS")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("BNS")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_BACK_PAY")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("BACK_PAY")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_RETR_SCHM_PMNT")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RETR_SCHM_PMNT")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_SLRY_TAX_EMPYR")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("SLRY_TAX_EMPYR")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_EDUC_BNF")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("EDUC_BNF")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_SHR_OPT_GAIN")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("SHR_OPT_GAIN")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_NATURE1")), 35)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_PRD1")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RWD_AMT1")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_NATURE2")), 35)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_PRD2")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RWD_AMT2")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_NATURE3")), 35)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_PRD3")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RWD_AMT3")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_PNSN")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("PNSN")), 9)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("TOT_INCOME")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_IND")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_ADDR_1")), 110)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_NATURE_1")), 19)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_R_1")), 26)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYR_1")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYE_1")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_RFND_EMPYE_1")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYR_EMPYE_1")), 7)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_ADDR_2")), 110)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_NATURE_2")), 19)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_R_2")), 26)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYR_2")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYE_2")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_RFND_EMPYE_2")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYR_EMPYE_2")), 7)
If gReader("OSEA_AMT").Equals(DBNull.Value) And gReader("OSEA_ADDR").Equals(DBNull.Value) And gReader("OSEA_NM").Equals(DBNull.Value) Then
sBuffer = sBuffer & "0"
sBuffer = sBuffer & "1"
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("OSEA_AMT")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("OSEA_NM")), 60)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("OSEA_ADDR")), 60)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("EMPYE_TAX_FL_NO")), 13)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RMK")), 60)
oTextStream.WriteLine(sBuffer)
'rsRv.MoveNext()
gReader.Close()
'End of file
oTextStream.Write(Chr(26))
oTextStream.Close()
oSQL.ReSet_Renamed()
oSQL.SqlType = ClsMySQL.StatmentType.TYPE_INSERT
oSQL.AddTable("TBL_APCA_AUD_LOG")
oSQL.AddField("USR")
oSQL.AddValue(sUserID)
oSQL.AddField("ACT")
oSQL.AddValue("S")
oSQL.AddField("LOG_TM")
oSQL.AddValue(VB6.Format(Today, "dd MMM YYYY") & " " & TimeOfDay)
oSQL.AddField("DESC")
sMsg = FormatMsg(My.Resources.str19011, CStr(iTaxYr), oFileSys.GetAbsolutePathName(sFileName))
oSQL.AddValue(sMsg)
'OpenRs(oSQL.SQL)
Call ExeNonQuery(gConAPCA, oSQL.SQL)
ShowInfo(sMsg)
ShellExecute(Me.Handle.ToInt32, "explore", oFileSys.GetParentFolderName(sFileName) & vbNullChar, "", "", modShell.enuShowWindow.SW_SHOW)
oTextStream = Nothing
oFileSys = Nothing
'rsRv = Nothing
oSQL = Nothing
oTextStream = Nothing
oFileSys = Nothing
'rsRv = Nothing
oSQL = Nothing
MyErrorRaise(Err.Description)
Private Sub GenerateTaxFileXml(ByRef iTaxYr As Short)
On Error GoTo erhd
Dim sFileName As String
Dim oFileSys As Scripting.FileSystemObject
Dim xmlDoc As MSXML2.DOMDocument
Dim Root As MSXML2.IXMLDOMElement
Dim oTextStream As Scripting.TextStream
Dim oSQL As ClsMySQL
'Dim rsRv As ADODB.Recordset
Dim sBuffer As String
Dim sBufferHeader As String
Dim sEmpyrTaxFIleNo As String
Dim sEmpyrNm As String
Dim sDesgn As String
Dim lRecordCount As Integer
Dim cTotAmt As Decimal
Dim lBtNo As Integer
Dim sSubDte As String
Dim sMsg As String
oSQL = New ClsMySQL
sFileName = GetExportDir() & VB6.Format(iTaxYr, "0000") & sTaxFile
oFileSys = New Scripting.FileSystemObject
'生成一个XML DOMDocument对象
xmlDoc = New MSXML2.DOMDocument
'生成根节点并把它设置为文件的根
'Root = xmlDoc.createElement("employees")
'xmlDoc.documentElement = Root
'-------------------------------------
oTextStream = oFileSys.OpenTextFile(sFileName, Scripting.IOMode.ForWriting, True)
Using gConAPCA As New OleDbConnection(gStrAPCA)
oSQL.ReSet_Renamed()
oSQL.SqlType = ClsMySQL.StatmentType.TYPE_SELECT
oSQL.AddTable("TBL_APCA_FST_PTY_INFO")
oSQL.AddFields("TAX_FL_NO", "NM", "DESGN")
gReader = QueryByReader(gConAPCA, oSQL.SQL)
If gReader.Read Then
sEmpyrTaxFIleNo = Null2Str(gReader("TAX_FL_NO"))
sEmpyrNm = Null2Str(gReader("NM"))
sDesgn = Null2Str(gReader("DESGN"))
gReader.Close()
oSQL.ReSet_Renamed()
oSQL.AddTable("TBL_APCA_TAX_REPORT")
oSQL.AddSimpleFuncField("COUNT", , , "REC_COUNT")
oSQL.AddSimpleFuncField("SUM", "TOT_INCOME", , "TOT")
oSQL.AddFields("BT_NO", "SUB_DTE")
oSQL.AddGroupBy("BT_NO")
oSQL.AddGroupBy("SUB_DTE")
gReader = QueryByReader(gConAPCA, oSQL.SQL)
If gReader.Read Then
lRecordCount = Null2Zero(gReader("REC_COUNT"))
cTotAmt = Null2Zero(gReader("TOT"))
lBtNo = CInt(Null2Str(gReader("BT_NO")))
sSubDte = VB6.Format(gReader("SUB_DTE").ToString, "YYYYMMDD")
gReader.Close()
sBuffer = FillStringWithSpaceRight(VB.Left(sEmpyrTaxFIleNo, 3), 3)
sBuffer = sBuffer & FillStringWithSpaceRight(VB.Right(sEmpyrTaxFIleNo, 8), 8)
sBuffer = sBuffer & FillStringWithSpaceRight(CStr(iTaxYr), 4)
sBuffer = sBuffer & FillStringWithSpaceRight(sSubDte, 8)
sBuffer = sBuffer & FillStringWithZero(CStr(lBtNo), 5)
sBuffer = sBuffer & New String("0", 6)
sBuffer = sBuffer & Space(9)
sBuffer = sBuffer & FillStringWithSpaceRight(sEmpyrNm, 70)
sBuffer = sBuffer & FillStringWithSpaceRight(sDesgn, 25)
sBuffer = sBuffer & FillStringWithZero(CStr(lRecordCount), 5)
sBuffer = sBuffer & FillStringWithZero(CStr(cTotAmt), 11)
sBuffer = sBuffer & Space(1480)
oTextStream.WriteLine(sBuffer)
oSQL.ReSet_Renamed()
oSQL.SqlType = ClsMySQL.StatmentType.TYPE_SELECT
oSQL.AddTable("TBL_APCA_TAX_REPORT")
sBufferHeader = FillStringWithSpaceRight(VB.Left(sEmpyrTaxFIleNo, 3), 3)
sBufferHeader = sBufferHeader & FillStringWithSpaceRight(VB.Right(sEmpyrTaxFIleNo, 8), 8)
sBufferHeader = sBufferHeader & FillStringWithSpaceRight(CStr(iTaxYr), 4)
sBufferHeader = sBufferHeader & FillStringWithSpaceRight(sSubDte, 8)
sBufferHeader = sBufferHeader & FillStringWithZero(CStr(lBtNo), 5)
gReader = QueryByReader(gConAPCA, oSQL.SQL)
Do While gReader.Read
sBuffer = sBufferHeader & FillStringWithZero(CStr(gReader("SHEET_NO").ToString), 6)
sBuffer = sBuffer & FillStringWithSpaceLeft(Null2Str(gReader("HK_ID")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("STUS")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("S_NM")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("NM")), 55)
sBuffer = sBuffer & FillChiStringWithSpaceRight(Null2Str(gReader("C_NM")), 50)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("GENDER")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("M_STUS")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PASPT_NO")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PASPT_ISSUE_BY")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("SPO_NM")), 50)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("SPO_HKID")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("SPO_PASPT_NO")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("SPO_PASPT_ISSUE_BY")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_ADDR")), 90)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("AR_CDE")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("CORR_ADDR")), 60)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("CAPCTY")), 40)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRIN_EMPYR")), 30)
sBuffer = sBuffer & VB6.Format(gReader("JOIN_DTE").ToString, "YYYYMMDD")
sBuffer = sBuffer & VB6.Format(gReader("CESS_DTE").ToString, "YYYYMMDD")
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_SLRY")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("SLRY")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_LEV_PAY")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("LEV_PAY")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_DIR_FEE")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("DIR_FEE")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_COMM")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("COMM")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_BNS")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("BNS")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_BACK_PAY")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("BACK_PAY")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_RETR_SCHM_PMNT")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RETR_SCHM_PMNT")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_SLRY_TAX_EMPYR")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("SLRY_TAX_EMPYR")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_EDUC_BNF")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("EDUC_BNF")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_SHR_OPT_GAIN")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("SHR_OPT_GAIN")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_NATURE1")), 35)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_PRD1")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RWD_AMT1")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_NATURE2")), 35)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_PRD2")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RWD_AMT2")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_NATURE3")), 35)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RWD_PRD3")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RWD_AMT3")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_PNSN")), 19)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("PNSN")), 9)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("TOT_INCOME")), 9)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_IND")), 1)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_ADDR_1")), 110)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_NATURE_1")), 19)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_R_1")), 26)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYR_1")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYE_1")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_RFND_EMPYE_1")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYR_EMPYE_1")), 7)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_ADDR_2")), 110)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("R_NATURE_2")), 19)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("PRD_R_2")), 26)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYR_2")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYE_2")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_RFND_EMPYE_2")), 7)
sBuffer = sBuffer & FillStringWithZero(Null2Str(gReader("RENT_EMPYR_EMPYE_2")), 7)
If gReader("OSEA_AMT").Equals(DBNull.Value) And gReader("OSEA_ADDR").Equals(DBNull.Value) And gReader("OSEA_NM").Equals(DBNull.Value) Then
sBuffer = sBuffer & "0"
sBuffer = sBuffer & "1"
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("OSEA_AMT")), 20)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("OSEA_NM")), 60)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("OSEA_ADDR")), 60)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("EMPYE_TAX_FL_NO")), 13)
sBuffer = sBuffer & FillStringWithSpaceRight(Null2Str(gReader("RMK")), 60)
oTextStream.WriteLine(sBuffer)
'rsRv.MoveNext()
gReader.Close()
'End of file
oTextStream.Write(Chr(26))
oTextStream.Close()
oSQL.ReSet_Renamed()
oSQL.SqlType = ClsMySQL.StatmentType.TYPE_INSERT
oSQL.AddTable("TBL_APCA_AUD_LOG")
oSQL.AddField("USR")
oSQL.AddValue(sUserID)
oSQL.AddField("ACT")
oSQL.AddValue("S")
oSQL.AddField("LOG_TM")
oSQL.AddValue(VB6.Format(Today, "dd MMM YYYY") & " " & TimeOfDay)
oSQL.AddField("DESC")
sMsg = FormatMsg(My.Resources.str19011, CStr(iTaxYr), oFileSys.GetAbsolutePathName(sFileName))
oSQL.AddValue(sMsg)
'OpenRs(oSQL.SQL)
Call ExeNonQuery(gConAPCA, oSQL.SQL)
ShowInfo(sMsg)
'直接保存成文件即可
'xmlDoc.save(sFileName)
'调用IE浏览器打开xml文件
ShellExecute(Me.Handle.ToInt32, "explore", oFileSys.GetParentFolderName(sFileName) & vbNullChar, "", "", modShell.enuShowWindow.SW_SHOW)
oTextStream = Nothing
oFileSys = Nothing
'rsRv = Nothing
oSQL = Nothing
oTextStream = Nothing
oFileSys = Nothing
'rsRv = Nothing
oSQL = Nothing
MyErrorRaise(Err.Description)
浏览: 48591 次
来自: 广州
呵呵。。。呵呵。。。
你呀的嘴真毒啊!吓得我赶紧去注册个账号来评。
表示很有帮助,谢谢楼猪

我要回帖

更多关于 vb 行继续标志太多 的文章

 

随机推荐