Вот, пожалуйста.
Если из соглашения об именовании ваших переменных (не смотря на вопрос, который вы задали, который, кажется, изменится ...), вам нужно загрузить XML-схему набора данных в XML-документ, который вы назвали схемой, ниже приведен код для загрузки схемы набора данных в XMLDocument.
Мне нужна схема набора данных в отдельном XML-документе. - NLV 19 апреля 2010 года в 12:00
Ответ:
XmlDocument contractHistoryXMLSchemaDoc = new XmlDocument();
using (MemoryStream ms = new MemoryStream())
{
dsContract.WriteXmlSchema(ms);
ms.Seek(0, SeekOrigin.Begin);
contractHistoryXMLSchemaDoc.Load(ms);
}
Если вы ищете, как загрузить данные таблицы набора данных в документ XML (обратите внимание, я удалил слово Schema из имени переменной XMLDocument)
Ваш вопрос:
Извините, я вас не понимаю. Мне нужно получить XML этого набора данных в XML-документе. - NLV, 19 апреля 2010 г., 11: 56
Ответ:
XmlDocument contractHistoryXMLDoc = new XmlDocument();
using (MemoryStream ms = new MemoryStream())
{
dsContract.WriteXml(ms,XmlWriteMode.IgnoreSchema);
ms.Seek(0, SeekOrigin.Begin);
contractHistoryXMLDoc.Load(ms);
}
Если вы хотите, чтобы Схема и данные были установлены в отдельных документах, код приведен выше.
Если вам нужна только схема или данные и документ XML, используйте приведенный выше фрагмент кода, относящийся к вашему вопросу.
Если вы хотите, чтобы XML-схема и Данные были в одном XML-документе, используйте этот код.
XmlDocument contractHistoryXMLDoc = new XmlDocument();
using (MemoryStream ms = new MemoryStream())
{
dsContract.WriteXml(ms,XmlWriteMode.WriteSchema);
ms.Seek(0, SeekOrigin.Begin);
contractHistoryXMLDoc.Load(ms);
}
Ваш вопрос:
Но я получаю ошибку - "Отсутствует корневой элемент".
Есть идеи?
Обновить
Когда я делаю xmlR.ReadInnerXML (), он пуст. Кто-нибудь знает почему?
NLV
Ответ:
В вашем коде есть основные проблемы в том, как вы думаете, что он работает, что означает, что он на самом деле не создает XMLSchema и XmlData (dsContract), поэтому вы видите пустой XMLDocument.
Вероятно, это поможет вам полностью объяснить, что вы хотите, а затем не отвечать всем, используя частичные предложения, которые неправильно поняты, и вам приходится продолжать отвечать более частичными предложениями.