【问题标题】:xml and strongly-typed datasets with the dataset designer使用数据集设计器生成 xml 和强类型数据集
【发布时间】:2010-07-19 15:33:28
【问题描述】:

我不确定这是否可行,但这是我想要做的:我使用 Visual Studio 中的数据集设计器创建了一个强类型数据集 StrTypDS。我还创建了一个空白 xml 文件并将其作为资源添加到我的项目中,以便可以通过 Properties.Resources.xmlData 访问它。我想做的是读取 xml 文件,看看是否有任何数据与我的强类型数据集的模式匹配。如果有匹配的数据,我想将它读入数据集中以便我可以处理它。如果没有匹配的数据,我想将架构写入 xml 文件,以便我可以将强类型数据存储在那里以供将来读取。最简单的方法是什么?

【问题讨论】:

    标签: xml visual-studio strongly-typed-dataset


    【解决方案1】:

    您不能写入资源,因为资源文件已编译到程序集中。

    要尝试将 xml 文件读入强类型数据集,请使用此示例 (VB.NET)...

    我创建了两个具有不同模式的类型化数据集 ds1 和 ds2。我写出了两个没有架构的示例 xml 数据文件。然后,我尝试读取文件夹中的每个 xml 文件,以找到与我的目标强类型数据集匹配的 xml 文件。如果我的目标数据集在尝试读取后包含数据,则架构匹配。

    Private Const InputFolder As String = "C:\xmlinputdata\"
    
    
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        WriteTestXML()
    
        For Each s In IO.Directory.GetFiles(InputFolder, "*.xml")
            Dim dsTarget As New ds1
    
            dsTarget.ReadXml(s, Data.XmlReadMode.IgnoreSchema)
    
            If DatasetHasData(dsTarget) Then
                MsgBox(dsTarget.GetXml)
            End If
        Next
    
    End Sub
    
    Private Function DatasetHasData(ByVal ds As Data.DataSet) As Boolean
        For Each dt As Data.DataTable In ds.Tables
            If dt.Rows.Count > 0 Then
                Return True
            End If
        Next
    
        Return False
    End Function
    
    Private Sub WriteTestXML()
        Dim x As New ds1
        x.dt1.Adddt1Row("A", "B")
        x.dt1.Adddt1Row("C", "D")
    
        x.WriteXml(InputFolder & "ds1.xml", Data.XmlWriteMode.IgnoreSchema)
    
        Dim y As New ds2
        With y.dt2
            .Adddt2Row(1, 2, 3)
            .Adddt2Row(4, 5, 6)
        End With
    
        y.WriteXml(InputFolder & "ds2.xml", Data.XmlWriteMode.IgnoreSchema)
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多