/ / Crear XDocument con el tipo de datos xml desde SQL Server - sql, xml, linq-to-xml

Cree XDocument con el tipo de datos xml desde SQL Server - sql, xml, linq-to-xml

Tengo esta mesa: ID | ARCHIVO

1 | RAÍZ> ELEMENT TYPE = "DATABASE" CNNSTR = "Fuente de datos = (local); Catálogo inicial = testForDLL; Seguridad integrada = SSPI; Información de seguridad persistente = Falso;" QUERY = "SELECT * FROM TBL1 WHERE id = 1" /> RAÍZ>

2 | RAÍZ ELEMENT TYPE = "DATABASE" CNNSTR = "Fuente de datos = (local); Catálogo inicial = testForDLL; Seguridad integrada = SSPI; Información de seguridad persistente = Falso;" QUERY = "SELECT * FROM TBL2 WHERE id = 1" /> RAÍZ>

Y quiero cargar el valor de la segunda columna y crear un XDOCUMENT con eso. Hasta ahora tengo 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
}

Pide lo que quieras para ayudarme por favor.

Respuestas

0 para la respuesta № 1

Creo que resolví el problema con 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;
}

¿Crees que es la mejor solución?