请问DATAGRID控件能否显示XML文件中的数据
我的XML格式是固定的 问题点数:100、回复次数:13Top
1 楼chuting(学习的动力)回复于 2005-08-30 15:36:57 得分 0
格式如下:
<Cells>
<Cell Row="1" Col="1" >10000001</Cell>
<Cell Row="1" Col="2" >234</Cell>
<Cell Row="1" Col="3" >ADDR</Cell>
<Cell Row="1" Col="4" >area</Cell>
<Cell Row="1" Col="5" >3434</Cell>
<Cell Row="1" Col="6" >agent</Cell>
<Cell Row="1" Col="7" >2005-07-22 08:45:37.125</Cell>
</Cells>Top
2 楼chuting(学习的动力)回复于 2005-09-01 10:44:13 得分 0
自己顶Top
3 楼chuting(学习的动力)回复于 2005-09-01 13:19:07 得分 0
难吧,难吗?
Top
4 楼jiemupig(伦涯飘)回复于 2005-09-01 14:07:07 得分 30
Set objXML = Server.CreateObject("Microsoft.XMLDOM") '创建 xml dom
objXML.Load ("xml 文件")
Set rootNode = objXML.documentElement
Set PagesNode = objXML.documentElement '获取根元素
Set objRootsite = objXML.getElementsByTagName("Cells")
For Each PageNode In PagesNode.selectNodes("./Cell")
ReDim Preserve Page(i)
mRow = CLng(PageNode.getAttribute("Row"))
mCol = Trim(PageNode.getAttribute("Col"))
objRootsite.Item(0).childNodes.Item(i).Text
...............网格填充
...............
i = i + 1
NextTop
5 楼daisy8675(莫依 沉迷)回复于 2005-09-01 14:26:08 得分 30
如果你能把你的XML读成recordset,再用recordset去绑定就成。Top
6 楼zdrone(zdrone)回复于 2005-09-01 14:39:13 得分 10
dim rs as new ado.recordset
rs.open "select * from 表",xml文件位置,打开方式
set datagrid.datasource=rsTop
7 楼dqhuaying(不再留恋)回复于 2005-09-01 15:07:49 得分 0
............................
不对的
Top
8 楼chuting(学习的动力)回复于 2005-09-03 14:32:14 得分 0
zdrone:
你的SQL语句中的“from 表” 表指什么呢,我的XML又没有表啊Top
9 楼MarGo(潇洒)回复于 2005-09-03 20:44:13 得分 0
把你的XML读成recordsetTop
10 楼chuting(学习的动力)回复于 2005-09-05 16:20:28 得分 0
有小例子吗,请发cctctz@tom.com,多谢。(个人认为目前VB还不可能)Top
11 楼zdrone(zdrone)回复于 2005-09-06 09:32:05 得分 0
不好意思写错了
RS_CFR1.Open FileName, Conn_str, adOpenDynamic, adLockBatchOptimistic, adCmdFile
这个是我程序里写的 反正能实现,
具体filename 为xml文件的路径名,conn_str为一个只要可以连接上的数据库文件即可。后面的照抄就可以了,不好意思。呵呵
然后直接 set datagrid.datasource=rs 即可。不过此方法不支持实时修改。
Top
12 楼chuting(学习的动力)回复于 2005-09-22 09:01:23 得分 0
呵呵,这些天没时间来看,各位兄弟辛苦了Top
13 楼liuguihua(Fairy)回复于 2005-10-13 15:52:16 得分 30
Dim r As ADOR.Recordset
Set r = New ADOR.Recordset
r.fields.Append "1", adVarChar, 60
r.fields.Append "2", adVarChar, 60
r.CursorType = adOpenDynamic
r.open
Dim xmlDom As New DOMDocument
Dim xmlNode As IXMLDOMElement
Dim i As Integer
Dim xNode As IXMLDOMNode
If xmlDom.Load("D:\test.xml") Then
Set xmlNode = xmlDom.documentElement.childNodes(0)
For i = 0 To xmlNode.childNodes.length - 1
With r
.AddNew
.fields(0).Value = xmlNode.childNodes(i).childNodes(0).Text
.fields(1).Value = xmlNode.childNodes(i).childNodes(1).Text
End With
Next
Set DataGrid1.DataSource = r
Top




