VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2004/07/18(Sun) 21:57
投稿者tak
Eメール
URL
タイトルRe^2: ListViewのNodeをXMLより取得したいのですが

>魔界の仮面弁士さん
レスありがとうございます。
ご教授いただいたXMLファイルで現状のロジックを流すと以下の結果となりました。
階層は思い通りになっていますが、ノードのテキストがすべて「node」となっていました。
<node text>タグのテキストを取得する方法がわかりませんでした・・。
よろしければ取得方法を教えていただけませんか??

node
└-node
  └-node
    └-node
      └-node
      └-node
    └-node
      └-node
  └-node
    └-node
     └-node
    └-node
     └-node




一応現状のソースを載せて置きます。

Option Explicit
   Dim XMLDoc As MSXML.DOMDocument
Private Sub Form_Load()    
    Set XMLDoc = New DOMDocument
    XMLDoc.async = False
    XMLDoc.Load Text1.Text
    
    If XMLDoc.parseError.errorCode = 0 Then
        If XMLDoc.readyState = 4 Then
            TreeView1.Nodes.Clear
            AddNode XMLDoc.documentElement
        End If
    Else
        MsgBox XMLDoc.parseError.reason & vbCrLf & _
        XMLDoc.parseError.Line & vbCrLf & _
        XMLDoc.parseError.srcText
    End If
End Sub
Private Sub AddNode(ByRef XML_Node As IXMLDOMNode, _
                    Optional ByRef TreeNode As Node)
    Dim xNode As Node
    Dim xNodeList As IXMLDOMNodeList
    Dim i As Long
    
    If TreeNode Is Nothing Then
        Set xNode = TreeView1.Nodes.Add
    Else
        Set xNode = TreeView1.Nodes.Add(TreeNode, tvwChild)
    End If
    
    xNode.Expanded = True
    xNode.Text = XML_Node.nodeName
    
    If xNode.Text = "#text" Then
        xNode.Text = XML_Node.nodeTypedValue
    Else
        xNode.Text = xNode.Text
    End If
    
    Set xNodeList = XML_Node.childNodes
    For i = 0 To xNodeList.length - 1
        AddNode xNodeList.Item(i), xNode
    Next
End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -