/ / Criar XDocument com tipo de dados xml do SQL Server - sql, xml, linq para xml

Crie XDocument com o tipo de dados xml do SQL Server - sql, xml, linq para xml

Eu tenho esta tabela: ID | ARQUIVO

1 | RAIZ> TIPO DE ELEMENTO = "DATABASE" CNNSTR = "Fonte de dados = (local); Catálogo inicial = testForDLL; Segurança integrada = SSPI; Informações de segurança persistentes = Falso;" QUERY = "SELECT * FROM TBL1 ONDE id = 1" /> RAIZ>

2 | ROOT TIPO DE ELEMENTO = "DATABASE" CNNSTR = "Fonte de dados = (local); Catálogo inicial = testForDLL; Segurança integrada = SSPI; Informações de segurança persistentes = Falso;" QUERY = "SELECT * FROM TBL2 ONDE id = 1" /> RAIZ>

E eu quero carregar o valor da segunda coluna e criar um XDOCUMENT com isso. Até agora eu tenho este código:

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
}

Pergunte o que quiser para me ajudar, por favor.

Respostas:

0 para resposta № 1

Acho que resolvi o problema com este código.

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;
}

Você acha que é a melhor solução?