是否可以读入xml字符串并使用列命名属性?
例如使用以下xml。
<root>
<CategoryInfo>
<column name="Category Name" value="1. In agreement" />
<column name="Category ID" value="1" />
</CategoryInfo>
<CategoryInfo>
<column name="Category Name" value="2. Small conflict" />
<column name="Category ID" value="2" />
</CategoryInfo>
<CategoryInfo>
<column name="Category Name" value="3. Strongly Disagree" />
<column name="Category ID" value="3" />
</CategoryInfo>
<CategoryInfo>
<column name="Category Name" value="4. Mark For CommitteeReview" />
<column name="Category ID" value="4" />
</CategoryInfo>
我想用
Dim ds As New DataSet()
Dim stream As New IO.StringReader(xmlData.ToString)
ds.ReadXml(stream)
Dim dt As DataTable = ds.Tables(0)
要将其转换为数据表,但属性会把它弄得一团糟。
感谢您的帮助。
答案 0 :(得分:1)
循环并将每个属性添加为列名。不确定它是否符合您的要求,但它为您提供了另一种选择。
Dim dt As New DataTable
Dim xmlReader As XmlTextReader = New XmlTextReader("C:\yourxml.xml")
While xmlReader.Read
If xmlReader.Name = "column" Then
If xmlReader.HasAttributes Then
While xmlReader.MoveToNextAttribute()
If Not dt.Columns.Contains(xmlReader.Value) Then
dt.Columns.Add(xmlReader.Value)
End If
Debug.WriteLine(xmlReader.Name + " " + xmlReader.Value)
End While
End If
End If
End While