Как разобрать строковые значения в xml и связать его с набором данных - PullRequest
1 голос
/ 17 октября 2011

Я пытаюсь получить 5 столбцов из базы данных, в одном типе XML. при возврате в набор данных он обрабатывается как строка. Мне нужно извлечь эти значения как XML и связать с другим набором данных.

например: если мой запрос возвращает 5 столбцов в набор данных, один столбец будет xml. Мне нужно извлечь эти значения и сохранить его в другой набор данных в формате XML.

Я пытался использовать dstDataset.Tables[0][3].toString();, он вернул весь XML как строку. Теперь мне нужно проанализировать как XML и связать с другим набором данных.

Надеюсь, ты, Пеполе, получил мой вопрос.

Ответы [ 2 ]

1 голос
/ 17 октября 2011

взгляните на следующий код:

DataSet dataSet = new DataSet();
DataTable dataTable = new DataTable("table1");
dataTable.Columns.Add("col1", typeof(string));
dataSet.Tables.Add(dataTable);

string xmlData = "<XmlDS><table1><col1>Value1</col1></table1><table1><col1>Value2</col1></table1></XmlDS>";

System.IO.StringReader xmlSR = new System.IO.StringReader(xmlData);

dataSet.ReadXml(xmlSR, XmlReadMode.IgnoreSchema);

Если вы замените xmlData данными из столбца и убедитесь, что схема правильная, это должно сработать.

0 голосов
/ 17 октября 2011

Может быть, вы можете использовать:

using System.Xml.Linq;
(...)
XDocument xmlXDoc = XDocument.Parse(dstDataset.Tables[0][3].toString());

Тогда вы можете получить XML с помощью:

xmlXDoc.ToString()

Или, если вы предпочитаете без форматирования (с отступом XML):

xmlXDoc.ToString(SaveOptions.DisableFormatting)

Подробнее о LINQ to XML: http://msdn.microsoft.com/en-us/library/bb387044.aspx

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