以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XML源码及示例(仅原创和转载) 』  (http://bbs.xml.org.cn/list.asp?boardid=32)
----  请教:在xml文件中写treeview树结构的形式  (http://bbs.xml.org.cn/dispbbs.asp?boardid=32&rootid=&id=19852)


--  作者:bobyang008
--  发布时间:6/23/2005 3:25:00 PM

--  请教:在xml文件中写treeview树结构的形式
我是通过.net动态生成了树结构,现在想把该树结构写成xml文件,节点的形式能够反应出treeview的结构,我自己想通过XmlTextWriter写,但是没有成功。我想把树写成:
<treenodes>
    <treenode text="根节点">
        <treenode text="子节点1"></treenode>
        <treenode text="子节点2"></treenode>
        <treenode text="子节点3"></treenode>
    </treenode>
</treenodes>

请教高手,编程如何写啊?不胜感谢!


--  作者:bobyang008
--  发布时间:6/24/2005 4:14:00 PM

--  
本人自己写了一段代码,但是只能写出两层结构:
代码如下:
Sub write_node(ByVal node As TreeNode)
        Dim i As Integer
        Dim writer As XmlTextWriter
        Dim xml_filename As String
        writer = New XmlTextWriter(xml_filename, Nothing)
        writer.WriteStartDocument()
        writer.Formatting = Formatting.Indented
        writer.Indentation = 6
        writer.IndentChar = " "
        writer.WriteStartElement("TREENODES")
        '开始写treenode
        If node.Nodes.Count > 0 Then      'And node.Checked = True
            writer.WriteStartElement("TREENODE")
            writer.WriteAttributeString("text", node.Text)
            writer.Indentation += 5
            For i = 0 To node.Nodes.Count - 1
                writer.WriteStartElement("TREENODE")
                writer.WriteAttributeString("text", node.Nodes(i).Text)
                writer.WriteFullEndElement()
            Next
            write_node(node)
        Else
            writer.WriteStartElement("TREENODE")
            writer.WriteAttributeString("text", node.Text)
            writer.WriteFullEndElement()

        End If

        writer.WriteEndElement()
        writer.WriteEndDocument()
        writer.Close()

    End Sub
但是这段代码不能写出无限级的结构,哪位高手能给出循环结构写出无限级的!?
我是在.net框架中用vb.net写的代码,写到一个xml文件中,调用的时候传treeview的初始节点作为函数参数。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
76.172ms