TXMLDocument 
TXMLDocument is a component used for programming XML documents. It takes car 
e of getting an instance of a IDOMDocument interface and loading and saving  
xml files. After setting the filename property and setting Active to true, u 
se the DOMDocument property to access the contents of the file. 

解决方案 »

  1.   

    如果是想把数据库中的内容生成XML的话,倒也不一定得用TXMLDocument的。
    如果你一定是要用TXMLDocument,那我UP。
      

  2.   

    各位能给个例子吗?
    [email protected]
      

  3.   

    不要用TXMLDocument,直接用msxml4.0 sdk,TXMLDocument很多功能不能实现!
    而msxml4.0很好用!
      

  4.   

    没法详细说呀,你到ms下载一个用一下就明白了,反正sdk带了帮助嘛!
    这是一套com组件,比较简单把,而且刚出了正式版,还有中文4.0正式版,赶快下载了!:)
      

  5.   

    生成xml?
    当文本文件生成好了,然后用TXmldocument.loadfromfile将它load进来。
      

  6.   

    对,☆浪人☆说的没错,微软的msxml4.0在VB中就是一个组件,new就可以了.生成了Document以后,就可以读写增加修改酸除node了.我做了一个解析DOM书的例子,请看.
    Private Sub CmdOpenXml_Click()
      Dim LsHour  As String
      Dim LsMin   As String
      Dim LsSec   As String
      Dim TimeB   As String
      Dim TimeE   As String
      Dim msTime  As String
      Dim lTime   As SystemTime
      Dim bM, eM  As Integer
      Dim bMs, eMs As Integer
      Dim bMm, eMm, costTime As Integer
      Dim Rslt As Variant
      Dim Node As IXMLDOMNode 'ノードを取得
      Dim Rootdoc As DOMDocument 'ルートノードをゲット
      
      On Err GoTo Eh
      GetLocalTime lTime
      'データ読み込む開始時刻を取得
      bM = lTime.wMinute
      bMs = lTime.wMilliseconds
      bMm = lTime.wSecond
      LsHour = CStr(lTime.wHour)
      LsMin = CStr(lTime.wMinute)
      LsSec = CStr(lTime.wSecond)
      msTime = CStr(lTime.wMilliseconds)
      TimeB = LsHour & ":" & LsMin & ":" & LsSec & " : " & msTime
      LblXmlB.Caption = "開始時刻:" + TimeB  'XMLファイルのデータを読み込む、フィールドまで分ける
      LstTree.Clear
      Set Rootdoc = New DOMDocument
      Rootdoc.async = False              '非同期処理を行わない
      Rootdoc.validateOnParse = False    '文書型定義を検証しない
      Rootdoc.preserveWhiteSpace = False 'WhiteSpaceを含めない
      If (Rootdoc.Load(XMLFILE)) Then
       Set Node = Rootdoc.childNodes(1)
       Rslt = getNodeData(Node)
      End If
      
      GetLocalTime lTime
      'データ読み込む終了時刻を取得
      eM = lTime.wMinute
      eMs = lTime.wMilliseconds
      eMm = lTime.wSecond
      LsHour = CStr(lTime.wHour)
      LsMin = CStr(lTime.wMinute)
      LsSec = CStr(lTime.wSecond)
      msTime = CStr(lTime.wMilliseconds)
      TimeE = LsHour & ":" & LsMin & ":" & LsSec & " : " & msTime
      LblXmlE.Caption = "終了時刻:" + TimeE
      costTime = ((eM - bM) * 60 + eMm - bMm) * 1000 + eMs - bMs
      Label1.Caption = CStr(costTime) + "ミリ秒"
      Exit Sub
    Eh:
      'XMLファイルオープン失敗
      MsgBox Err.Description
      
    End SubPrivate Function getNodeData(ByVal nodeData As IXMLDOMNode) As Variant
      Dim rt As Variant
      Dim i, j, num, chnt As Integer
      Dim atrrName, atrrValue, RecordData As String
      Dim NodeMap As IXMLDOMNamedNodeMap 'ノードの属性を取得
      
      RecordData = nodeData.nodeName
      '当ノートの属性を判断、つまり、要素の属性が有否を判断する
      Set NodeMap = nodeData.Attributes
      num = NodeMap.Length
      If num > 0 Then
        For i = 0 To num - 1
          atrrName = NodeMap.Item(i).nodeName '要素の属性の名前
          atrrValue = NodeMap.Item(i).nodeValue '要素の属性の値
          RecordData = RecordData + atrrName & ":" & atrrValue
        Next i
        LstTree.AddItem (RecordData)
        '当ノートは子ノートがあれば、コールセルフ
        If (nodeData.hasChildNodes) Then
          chnt = nodeData.childNodes.Length
          For j = 0 To chnt - 1
            rt = getNodeData(nodeData.childNodes(j))
          Next j
        Else
          '当ノートは子ノートが無し、これはDOMツリーの最後の階層
          Exit Function
        End If
      End If
    End Function