Tengo una tabla en SQL y una de sus columnas es un tipo de datos XML. ¿Cómo podré obtener su valor de SQL a ASP.NET (C#) de código subyacente? Quiero almacenarlo como un tipo Xml y no como un tipo de cadena porque necesito manipular los valores y los atributos dentro de él. Intenté conseguirlo y ponerlo en una variable de tipo cadena y lo que obtengo es algo como esto: AAYYYNYNYNStarLight. Me gustaría obtener esto en su lugar:¿Cómo obtener datos XML de una columna en una tabla SQL?
<ANSWERS>
<Answer item="ddl_3">A</Answer>
<Answer item="ddl_8">A</Answer>
<Answer item="ddl_13">Y</Answer>
<Answer item="ddl_16">Y</Answer>
<Answer item="ddl_19">Y</Answer>
<Answer item="ddl_22">N</Answer>
<Answer item="ddl_26">Y</Answer>
<Answer item="ddl_30">N</Answer>
<Answer item="ddl_34">Y</Answer>
<Answer item="ddl_38">N</Answer>
<Answer item="ddl_42">StarLight</Answer>
</ANSWERS>
¿Cómo puedo hacerlo y poder manipular cada nodo? Soy un completo novato sobre XML y cualquier ayuda será muy apreciada. :)
Editar: limpió el xml
Comprobé el enlace sobre ese XDocument.Parse pero luego solo acepta string-type como parámetro. Y la columna que tengo es de tipo Xml. Si almaceno esto desde XML (tipo de datos SQL) a string xmlValue, todas las etiquetas xml habrán desaparecido. Entonces, cuando intenté usar XDocument.Parse (xmlValue), arroja un error "La cadena no fue reconocida como Uri válida". – Rome
@Rome: Ah, he leído mal tu pregunta, déjame editarla. – R0MANARMY
De hecho, tengo un problema al usar ese XmlReader porque tenemos una clase separada para todos los datos de acceso. Cuando intento con ese método recibo un "intento no válido de leer cuando el lector está cerrado". Creo que es porque después de que la clase de acceso a datos devuelve el resultado xml a código subyacente, la clase de acceso a datos cierra el XmlReader. De todos modos, gracias por contarme sobre XDocument. Me dio una solución alternativa. Almacenaré el documento XML en SQL como una cadena en lugar del tipo XML (que sé que no es una solución muy elegante). Luego, cuando lo recupere, usaré XDocument.Parse: D – Rome