【问题标题】:Loading an typed dataset from an XML document从 XML 文档加载类型化数据集
【发布时间】:2010-02-26 00:47:59
【问题描述】:

我无法填写类型化数据集

Using reader as New StringReader(My.Resources.sampledata)
  typedDataset.ReadXML(reader)
  'typedDataset.WriteXML("c:\data.xml")
End Using

以上行不通。如果我启用注释行将结果写入文件,我会得到一个 1K 文件

<?xml version="1.0" standalone="yes"?>
<testSchema xmlns="http://tempuri.org/TestSchema.xsd" />

如果我创建一个空白数据集就这样

Dim data as New DataSet
    Using reader as New StringReader(My.Resources.sampledata)
  data.ReadXML(reader)
  'data.WriteXML("c:\data.xml")
End Using

它将数据写入文件。这意味着数据集是从 XML 加载的。 XML 是从有效的数据集创建的

Dim ds as DataSet = Service.GetData(params)
ds.WriteXML(C:\sampledata.xml")

然后存储在资源文件中。

我也尝试了这些选项

1. Auto
2. ReadSchema
3. IgnoreSchema
4. InferSchema

使用“InferSchema”我能够添加 XML,但它创建了第二个表。

我想要做的就是从由 dataset.WriteXML() 创建的 XML 文档加载我的类型化数据集

谢谢

【问题讨论】:

    标签: .net xml dataset strongly-typed-dataset


    【解决方案1】:

    解决方案

    Dim ds As New DataSet
    Using reader As New System.IO.StringReader(My.Resources.sampledata)
          ds.ReadXml(reader)
          typedDS.Load(ds.Tables(0).CreateDataReader(),
                       LoadOption.OverwriteChanges,
                       typedDS.MyTable)
    
    End Using
    

    【讨论】:

    • 谢谢赛义夫。你帮我省了很多麻烦:)
    【解决方案2】:

    您必须在包含架构的情况下编写。

    ds.WriteXml("TEST.xml", XmlWriteMode.WriteSchema);
    

    编辑:

    ds.Tables[0].WriteXml("TEST.xml", XmlWriteMode.WriteSchema);
    ds.Tables[0].ReadXml("TEST.xml");
    

    或强类型数据表读/写

    typedDataset.tableName.WriteXml("TEST.xml", XmlWriteMode.WriteSchema);
    typedDataset.tableName.ReadXml("TEST.xml");
    

    【讨论】:

    • 你是说我正在读取的 XML(它是从 dataset.WriteXML() 创建的)必须包含架构?
    • 是的,我以前遇到过。如果您在将架构写入磁盘时不编写架构,那么它不会只是读回。我相信有一种方法可以在读取或推断时为其提供架构,但它最容易编写首先是架构。
    • 这次它会加载,但它会用数据显示第二个表,并忽略在 Visual Studio XSD 数据集设计器中创建的 TypedTable。
    • 您知道我正在尝试将数据集加载到类型化数据集中...对吗?
    猜你喜欢
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多