2009-07-09 7 views
0

J'ai utilisé DataSet pour charger un schéma à partir du fichier xml suivant; .Comment écrire un fichier XML imbriqué à l'aide de DataSet

<node id="0"> 
    <node id="1"/> 
</node> 

Ensuite, je franchis cet ensemble de données et les données remplis Quand j'ai essayé d'invoquer la méthode WriteXml de mon jeu de données, il a lancé une exception dit:

ne peut continuer avec sérialisation DataTable « noeud ». Il contient un DataRow qui a plusieurs lignes parentes sur la même clé étrangère.

Mais je suis tellement sûr qu'il n'y a pas de lignes multi-parents dans mes données. Quelqu'un a dit que je devrais définir EnforceConstraints de l'ensemble de données comme faux, mais cela n'a pas fonctionné.

Y a-t-il une autre solution?

+0

Merci pour vos réponses. J'ai d'autres raisons d'utiliser DataSet. BTW: J'ai trouvé la cause première de cette exception. J'ai placé deux parents différents à différentes tables pour quelques rangées de table 'de noeud'. –

Répondre

1

Pour tous les autres travaux XML, vous devez utiliser l'une des API XML, telles que LINQ to XML (XElement), XmlReader, XmlDocument ou XPathDocument.

0

Envisagez d'utiliser XElement pour ce type de tâches. Si vous avez vraiment besoin de DataSets à un certain moment, vous pouvez facilement convertir XElements en DS et revenir en arrière. DataSet est spécifiquement pour les données qui correspondent à un schéma de style relationnel.

Questions connexes