Как написать вложенный XML с помощью DataSet - PullRequest
0 голосов
/ 09 июля 2009

Я использовал DataSet для загрузки схемы из следующего XML-файла;

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

Затем я очистил этот набор данных и заполнил данные. Когда я попытался вызвать метод WriteXml для моего набора данных, он выдал исключение:

Невозможно продолжить сериализацию DataTable "узел". Он содержит DataRow с несколькими родительскими строками на одном и том же внешнем ключе.

Но я так уверен, что в моих данных нет нескольких родительских строк. Кто-то сказал, что я должен установить EnforceConstraints набора данных как ложное, но это не сработало.

Есть ли другое решение?

Ответы [ 2 ]

1 голос
/ 09 июля 2009

DataSet специально для данных, которые соответствуют схеме реляционного стиля. Для всей другой работы с XML вам следует использовать один из API-интерфейсов XML, например LINQ to XML (XElement), XmlReader, XmlDocument или XPathDocument.

0 голосов
/ 09 июля 2009

Рассмотрите возможность использования XElement для такого рода задач. Если вам действительно нужны наборы данных в определенный момент, вы можете легко конвертировать XElements в DS и обратно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...