Создайте XDocument с типом данных xml из SQL Server

У меня есть эта таблица: ID | FILE

1 | ROOT> ELEMENT TYPE = "БАЗА ДАННЫХ" CNNSTR = "Источник данных =(локальный); Начальный каталог = testForDLL; Интегрированная безопасность = SSPI; Постоянная информация о безопасности =False;" QUERY="ВЫБРАТЬ * ИЗ TBL1, ГДЕ id=1"/> ROOT>

2 | ROOT ELEMENT TYPE = "БАЗА ДАННЫХ" CNNSTR = "Источник данных =(локальный); Начальный каталог = testForDLL; Интегрированная безопасность = SSPI; Информация о персистентной безопасности =False;" QUERY="ВЫБРАТЬ * ИЗ TBL2 ГДЕ id=1"/> ROOT>

И я хочу загрузить значение из 2-го столбца и создать XDOCUMENT с этим. Пока у меня есть этот код:

using (SqlConnection conn = new SqlConnection(cnnstr))
            {
                conn.Open();
                SqlCommand com = conn.CreateCommand();

                com.CommandText = "SELECT [FILE] FROM XML_Config WHERE id=" + id;
                XDocument doc2 = new XDocument();

                XmlReader dtRead = com.ExecuteXmlReader();

                if (dtRead.Read())
                    doc2.Load(dtRead); -> This line has an error
            }

Спросите все, что вы хотите, чтобы помочь мне, пожалуйста.

1 ответ

Я думаю, что я решил проблему с этим кодом.

using (SqlConnection conn = new SqlConnection(cnnstr))
            {
                string xmlstr;
                conn.Open();
                SqlCommand com = conn.CreateCommand();

                com.CommandText = "SELECT [FILE] FROM XML_Config WHERE id=" + id;

                SqlDataReader dtRead = com.ExecuteReader();

                while (dtRead.Read())
                    xmlstr= dtRead.GetSqlString(0).ToString();
                XDocument docBD = XDocument.Parse(xmlstr);

                return docBD;
            }

Как вы думаете, это лучшее решение?

Другие вопросы по тегам