vb加载不了xml

lihuinihao6315 2009-06-25 12:52:38
<?xml version="1.0" encoding="gb2312"?>
<Update>
<!-- Object="Sys" 指系统当前数据库, "PNP" 为 Main.Mdb 的连接, 否则,就是外接程序数据库,外接程序名称在PNP中是禁止命名为PNP,Sys,System的 -->
<!-- Source 如果没有给出,默认为当前update.mdb 也可以是DDD.XML 格式的数据集合,根据Sorce的扩展名确定来源,如果没有扩展名,就认定是从注册中查连接-->
<!--Source 和 Object用同不方法去取连接数-->
<DB Object="Sys" Source="Update.mdb">

<!-- SQL 执行前,有三个属性需要确定, FindTable FindField FindValue ,没有给出属性,表明不需要判定 -->
<!-- 这三个条件必须同时符合的情况下才执行,内容第一个字母为判定,分别有"=" "!" -->
<!-- FindValue 必须有 FindKey 配合,由FindKey 字段过滤给出条件 -->

<!--命令节点 直接执行里面的命令行 共5个固定命令 -->
<Cmd FindTable="=Report" FindField="!Reprot.Value" FindKey="Report.Key='Keyvalue'" FindValue="=Field3='123'" >

<!--'删除表: 是指目标连接中的表,用“,”分隔删除多个表-->

<Drop>
<TABLE>表1</TABLE>
<TABLE>表2</TABLE>
</Drop>
<!--插入表: 是指从源MDB中的表 插入表 目标数据库中 有AS -->
<Insert>
<TABLE NAME="表1">表1</TABLE>
<TABLE NAME="表2">表2</TABLE>
</Insert>

<!--'更新表: 是指源表中的表中的更新到目标表中,根据关键值更新,没有关键值,就添加-->
<Update>
<TABLE NAME="表1" KEY="关键字段"></TABLE>
<TABLE NAME="表2" KEY="关建字段"></TABLE>
</Update>

<!--'删除字体段: 是指目标连接中的表,用“,”分隔删除多个字段 用.分隔表和字体段-->
<Remove>
<TABLE NAME="表1">字段1,字段2</TABLE>
<TABLE NAME="表2">字段1,字段2</TABLE>
</Remove>
<!--'添加体段: 是指源表中的表中的字段添加到目标中,同一表名,用“,”分隔删除多个字段 用.分隔表和字体段-->
<Add>
<TABLE NAME="表1">字段1,字段2</TABLE>
<TABLE NAME="表1">字段1,字段2</TABLE>
</Add>

</Cmd>

</DB>

</Update>
...全文
124 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
vansoft 2009-06-29
  • 打赏
  • 举报
回复
XML对象的LOADXML方法返回真假,
当返回FALSE时,取XML对象的错误信息,
一看就明白了.
starair 2009-06-26
  • 打赏
  • 举报
回复
2楼怎么弄得格式?
starair 2009-06-26
  • 打赏
  • 举报
回复

a
starair 2009-06-26
  • 打赏
  • 举报
回复
我给你推荐一种方法:


Dim xml_document As DOMDocument

Public Function getxml() As String
Dim n As Integer
Set xml_document = New DOMDocument
xml_document.Load App.Path & "\update.xml"

Call AddNode(xml_document.documentElement, Nothing)

End Function

Private Sub AddNode(ByRef XMLNode As IXMLDOMNode, ByRef TreeNode As Node)
Dim objNode As Node
Dim xmlNodeList As IXMLDOMNodeList
Dim lngNodeIndex As Long

On Error GoTo ERR_HANDLER

If TreeNode Is Nothing Then
Set objNode = TreeView1.Nodes.Add
Else
Set objNode = TreeView1.Nodes.Add(TreeNode, tvwChild)
End If

objNode.Text = XMLNode.nodeName
objNode.Expanded = True

'== Add child nodes
Set xmlNodeList = XMLNode.childNodes
For lngNodeIndex = 0 To xmlNodeList.length - 1
Call AddNode(xmlNodeList.Item(lngNodeIndex), objNode)
Next lngNodeIndex


ERR_HANDLER:
If Err.Number <> 0 Then
MsgBoxErr.Description
End If
End Sub
lihuinihao6315 2009-06-25
  • 打赏
  • 举报
回复
代码
Dim strDBNode As String
Dim xml_document As DOMDocument
Dim values_node As IXMLDOMNode
Dim Root_Node As IXMLDOMNode
Public Function getxml() As String
Dim n As Integer
Set xml_document = New DOMDocument
xml_document.Load App.Path & "Update.xml" '这一行加载完 没有内容.没有加载的了
'如果不包含任何元素,则退出
' If xml_document.documentElement Is Nothing Then
' Exit Function
' End If
'Root_Node置为根节点
Set Root_Node = xml_document.selectSingleNode("DB")
' RootCmd_Node = Root_Node.selectSingleNode("Cmd")
'获取Total节点的Text
Set values_node = Root_Node.selectSingleNode("Cmd")
For n = 1 To CInt(values_node.Text)
Set values_node = Root_Node.selectSingleNode("_" & n)

getxml = getxml + "Drop:" & GetNodeValue(values_node, "Drop", "???") & vbCrLf
getxml = getxml + "Insert:" & GetNodeValue(values_node, "FileName", "???") & vbCrLf
getxml = getxml + "Update" & GetNodeValue(values_node, "Del", "???") & vbCrLf
getxml = getxml + "-------------------------------" & vbCrLf
Next
End Function

lxq19851204 2009-06-25
  • 打赏
  • 举报
回复
ding
浅蓝马 2009-06-25
  • 打赏
  • 举报
回复



Public Function getxml() As String
Dim n As Integer
Set xml_document = New DOMDocument

xml_document.Load App.Path & "Update.xml"

'(******** 更改下面从“DB”到“Update/DB”后,此外可以通过)
Set Root_Node = xml_document.selectSingleNode("Update/DB")

Set values_node = Root_Node.selectSingleNode("Cmd")

'(******下面就完全不知所谓了,和XML里的内容不区配,个人认为你的XML不正确)
For n = 1 To CInt(values_node.Text)
Set values_node = Root_Node.selectSingleNode("_" & n)

getxml = getxml + "Drop:" & GetNodeValue(values_node, "Drop", "???") & vbCrLf

getxml = getxml + "Insert:" & GetNodeValue(values_node, "FileName", "???") & vbCrLf
getxml = getxml + "Update" & GetNodeValue(values_node, "Del", "???") & vbCrLf
getxml = getxml + "-------------------------------" & vbCrLf
Next

End Function

1,066

社区成员

发帖
与我相关
我的任务
社区描述
VB 资源
社区管理员
  • 资源
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧