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