【问题标题】:Reading XML into Dataset with correct schema使用正确的模式将 XML 读入数据集
【发布时间】:2011-08-11 03:21:51
【问题描述】:

我有一些这样的 xml。

<RootTop>

<FileTablets>
<Tablet Name="">
</Tablet>
</FileTablets>

<DirectoryTablets>
  <Directory FullPath="Path1" Id="" />    
<Directory FullPath="Path2" Id="" />
     <SubPath Path="Path Id="" />
     <SubPath Path="Path Id="" />
     <SubPath Path="Path Id="" />
  </Directory>
</DirectoryTablets>
</RootTop>

当我使用带有推断架构或读取架构的 dataset.readxml() 时,数据被读入数据集中,但不是我想要的格式。我只想要 DirectoryTablets 子树下的信息。如何以我想要的格式将数据直接读入数据集 这是我想要的格式: 表名:DirectoryTablets

FullPath Id SubPath-Path SubPath-Id(如果子路径节点不存在则为空)

FullPath Id SubPath-Path SubPath-Id

【问题讨论】:

    标签: c#


    【解决方案1】:

    DataSet 类是关系数据模型的内存表示。

    并非所有 XML 都映射到关系数据模型。

    这意味着某些 XML 无法读入 DataSet

    这包括您发布的 XML。

    选择不同的机制来处理 XML。

    【讨论】:

    • 感谢约翰的回复。你能告诉我更多关于为什么这个 xml 不能被读入数据集的信息吗?或者请给我一个链接,如果可以的话。
    • 按节点读取 xml 并写入数据集的替代方法是否合适?再次感谢。
    • 我刚刚告诉过你。请参阅 Relational modelXML。有多种 XML 不映射到关系模型。这些不能读入 DataSet,它是关系模型的表示。这一切都很简单——苹果不是橙子,尽管它们都是水果。
    • 您使用的是什么版本的 .NET?如果您是最新的,那么使用 LINQ to XML,这使得处理 XML 变得非常容易。如果您卡在 .NET 2.0,那么我建议使用 XmlDocument。
    • 我使用的是 4.0.我将尝试使用 Linq to XML。谢谢。
    猜你喜欢
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    • 2018-08-28
    • 2011-07-24
    相关资源
    最近更新 更多