请问怎么在代码里怎么把xml文件解析到.rpt文件中。我知道是要把xml文件作为数据源,具体操作不是很清楚。
谢了先~~~

解决方案 »

  1.   

    我是把数据库的记录集保存到xml文件中,然后通过xml作为数据源输出到报表打印。
      

  2.   

    自己解决了,唉~~~其实就是解析XML,然后按节点推给报表,当时脑袋就那么不好使了?不知道有没有其他办法。
      

  3.   

    可以这样读xml数据,再发到报表里Sub loadxml()
        Dim Xdom As New DOMDocument
        Xdom.Load App.Path & "\config.xml"
        Dim Nodes As IXMLDOMNodeList
        Set Nodes = Xdom.documentElement.selectNodes("//site")
        'MsgBox Nodes(1).selectSingleNode("id").Text
        For i = 0 To Nodes.length - 1
            Title = CStr(Nodes(i).selectSingleNode("title").Text)
            id = CInt(Nodes(i).selectSingleNode("id").Text)
            MsgBox Title
            List1.AddItem Title, id 
        Next
    End Sub
     
    <?xml version="1.0" encoding="gb2312"?>
    <!--数据总汇池-->
    <DataPool>
        <!--数据索引-->
        <!--此处为数据样板-->
        <site>
            <id>0</id>
            <title>t0</title>
        </site>
        <site>
            <id>1</id>
            <title>t1</title>
        </site>
        <site>
            <id>2</id>
            <title>t2</title>
        </site>
    </DataPool>
      

  4.   

    关键是 xml 格式谁决定,如果没有限制,有很方便的方法:
    1)用 RecordSet 生成 xml
    Private Sub Command1_Click()
        Dim cn As ADODB.Connection
        Dim rs As ADODB.Recordset
        ...
        Set rs = cn.Execute("select...")
        rs.Save "C:\temp\1.xml", adPersistXML
    End Sub
    2)用 xml 还原不依赖数据库的 RecordSet,可以直接作为报表的数据源使用
    Private Sub Command2_Click()
        Dim rs As ADODB.Recordset
        Set rs = New ADODB.Recordset
        rs.Open "C:\temp\1.xml"
        ...
    End Sub