当前位置:编程学习 > C#/ASP.NET >>

xml 循环节点

树型结构XML文件,请问怎样写语句可以实现历遍所有根节点并转换为表形式列出?
例:
<series name:=生物>
   <class name:=1>
      <team name:=A>
        <member name:=张三>
        <member name:=李四>
        <member name:=王五>
      <\team>
   <\class>
<\series>

转换为
series  class  team  member
生物     1      A    张三
生物     1      A    李四
生物     1      A    王五

上面是一个例子,结构相对简单,要实现的xml文件结构复杂且不知道结构。
应如何实现?请各位大虾指点,谢谢!

--------------------编程问答-------------------- 直接读不行吗?TblTemp.readXML(strPath)不就行了? --------------------编程问答-------------------- 可以,但手头的xml文件读出来4个表格,每个表格独立,分不清之间的结构。 --------------------编程问答-------------------- 用DataSet的ReadXml()不行吗? --------------------编程问答-------------------- --------------------编程问答--------------------
<?xml version="1.0"?>
<series name="生物"> 
  <class name="1"> 
      <team name="A"> 
        <member name="张三"></member>
        <member name="李四"></member> 
        <member name="王五"></member> 
      </team> 
  </class> 
</series> 
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim tmpPath As String = Application.StartupPath
        Dim xmlFile As String = tmpPath + "\testXmlWrite.xml"
        Dim xml_document As New XmlDocument()
        Dim values_node As XmlNode

        Dim s As String
        Dim c As String
        Dim t As String
        Dim m As String
        Dim arrMain As New ArrayList


        xml_document.Load(xmlFile)
        values_node = xml_document.SelectSingleNode("series")
        s = values_node.Attributes("name").InnerText
        For i As Integer = 0 To values_node.ChildNodes.Count - 1
            c = values_node.ChildNodes(i).Attributes("name").InnerText
            For j As Integer = 0 To values_node.ChildNodes(i).ChildNodes.Count - 1
                t = values_node.ChildNodes(i).ChildNodes(j).Attributes("name").InnerText
                For n As Integer = 0 To values_node.ChildNodes(i).ChildNodes(j).ChildNodes.Count - 1
                    m = values_node.ChildNodes(i).ChildNodes(j).ChildNodes(n).Attributes("name").InnerText
                    Dim arrTmp As New ArrayList
                    arrTmp.Add(s)
                    arrTmp.Add(c)
                    arrTmp.Add(t)
                    arrTmp.Add(m)
                    arrMain.Add(arrTmp)
                Next
            Next
        Next
    End Sub

想要的数据都放在arrMain里面了,自己组织吧
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,