使用带有xml节点属性的数据集读取xml作为父表的一部分

时间:2014-04-29 09:44:30

标签: xml ado.net dataset xsd xml-attribute

我有这个xml

<root>
<employee>
<firstname>Francis</firstname>
<lastname>Ferns</lastname>
<email protected=\"1\"/>
</employee>
</root>

DataSet 读取时会读取两个数据,其中为电子邮件添加了另一个表。这就是数据集视觉效果的样子。

Employee email table email employee table

我希望它不是在另一个表中读取属性列受保护,而是希望它与员工表本身分开,其中受保护的列前面带有“ 。“ 和员工表。

我是否可以以任何方式定义数据集模式,以便将所有属性作为父表的一部分读取?

1 个答案:

答案 0 :(得分:0)

Option Infer On

Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim ds = New DataSet
    ds.ReadXml("c:\test.xml")

    ds.Tables("Employee").Columns.Add("protected", GetType(String))
    For Each row As DataRow In ds.Tables("Employee").Rows
        row("Protected") = row.GetChildRows(ds.Relations(0))(0)("Protected")
    Next

    ds.Tables("Email").Constraints.Clear()
    ds.Tables("Employee").Constraints.Clear()
    ds.Relations.Clear()
    ds.Tables.Remove("email")
End Sub

End Class