J'ai reçu un fichier .xml que j'avais besoin de lire dans mon code en tant que DataSet (en arrière-plan, le fichier a été créé en créant un DataSet
en C# et en appelant dataSet.WriteXml(file, XmlWriteMode.IgnoreSchema)
, mais cela a été fait par quelqu'un d'autre).Problème de lecture du fichier XML dans C# DataSet
Le fichier .xml a été formé comme ceci:
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Foo>
<Bar>abcd</Bar>
<Foo>efg</Foo>
</Foo>
<Foo>
<Bar>hijk</Bar>
<Foo>lmn</Foo>
</Foo>
</NewDataSet>
utilisant C# et .NET 2.0, j'ai lu le fichier en utilisant le code ci-dessous:
DataSet ds = new DataSet();
ds.ReadXml(file);
L'utilisation d'un point d'arrêt, après line ds.Tables[0]
ressemblait à ceci (en utilisant des tirets à la place de underscores que je ne pouvais pas formater correctement):
Bar Foo-Id Foo-Id-0
abcd 0 null
null 1 0
hijk 2 null
null 3 2
J'ai trouvé une solution de contournement (je sais qu'il y en a beaucoup) et j'ai pu lire avec succès dans le fichier .xml, mais j'aimerais savoir pourquoi ds.ReadXml(file)
effectué de cette manière, donc je serai en mesure d'éviter le problème dans le avenir. Merci.