xml - 将 XML 导入数据集 C#

标签 xml dataset

我正在尝试将 xml 文件放入数据集中并使用以下代码:

DataSet ds = new DataSet("TestDataSet");
ds.ReadXml(FileName);

和这个 xml 文件:

<Catalog>
 <Rec>
   <ITEM dt:dt="string"/>
   <QTY dt:dt="string">1</QTY>
   <SUB dt:dt="string">1</SUB>
   <CATALOG dt:dt="string">ABC123</CATALOG>
  </Rec>
  <Rec>
   <ITEM dt:dt="string"/>
   <QTY dt:dt="string">1</QTY>
   <SUB dt:dt="string">1</SUB>
   <CATALOG dt:dt="string">ABC124</CATALOG>
  </Rec>
  <Rec>
   <ITEM dt:dt="string"/>
   <QTY dt:dt="string">1</QTY>
   <SUB dt:dt="string">1</SUB>
   <CATALOG dt:dt="string">ABC125</CATALOG>
  </Rec>
 </Catalog>

麻烦的是,在 ds 上设置监视后,它似乎只包含一个名为 Rec 的表和一个名为 Rec_Id 的列。如果我删除“dt:dt="String"”数据类型,一切正常。

我正在使用 C#.net 2008...

有人可以建议导入此数据而无需更改 xml 文件的正确方法吗?

谢谢

最佳答案

一旦您定义了 XML 元素中使用的 XML 命名空间,您就可以轻松导入它 - 没问题。

您需要让您的 XML 看起来像这样:

<Catalog xmlns:dt="some-xml-namespace-here">
 <Rec>
   <ITEM dt:dt="string"/>
   <QTY dt:dt="string">1</QTY>
   <SUB dt:dt="string">1</SUB>
   <CATALOG dt:dt="string">ABC123</CATALOG>
  </Rec>
  .....
 </Catalog>

在我这样做之后,你的两行代码就像一个魅力,数据被导入,没有问题(到数据集中的 5 个表)。

马克

关于xml - 将 XML 导入数据集 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/894451/

相关文章:

java - 无法访问自定义ActionBar的TextView

java - 更改 JAXB 注释子类的元素名称

python - 在 Pandas 折线图中绘制多列

c# - 类到数据集/数据集到类

python - 在哪里找到python-2.6.0-8.9.28的xml.dom python包,我有一个Linux版本的suse/x86_64版本

java - JAXB 规范 : XmlAnyAttribute collision with explicit mapped attribute 是怎么说的

mysql - Perl XML::Smart 内存不足!错误

C# 使用 LINQ 查询将记录与过程数组的结果进行比较

python-3.x - 根据另一个数据集的条件添加输出列

c - 如何从C中的数据文件中删除列