【问题标题】:XMl File embeded in SQL to C# Program嵌入 SQL 到 C# 程序中的 XML 文件
【发布时间】:2015-01-19 16:53:30
【问题描述】:
我正在用 C# 编写一个程序,该程序将从 SQL 数据库中读取数据。数据存储在 SQL 数据库中的 XML 文件中。该列是 XML 数据类型。
有没有办法将 XML 文档从 SQL 导入 C# 程序?我需要它作为一个 XML 文件,因为程序将遍历节点并调整数据,覆盖它,然后将其重新输入到数据库中。
我正在使用 Microsoft SQL Server 2008 R2。 Visual Studio 2010 是 C# 的 IDE。
【问题讨论】:
标签:
c#
sql
sql-server
xml
【解决方案1】:
您可以将其检索为XDocument easily enough:
var reader = sqlCommand.ExecuteXmlReader();
if (reader.MoveToContent() != XmlNodeType.None)
{
return XDocument.Load(reader);
}
【解决方案2】:
假设您可以将其作为流或字符串检索,您可以这样做:var doc = XDocument.Load(source)。
例如:
using (SqlConnection connection = new SqlConnection(connectionString))
using (SqlCommand command = new SqlCommand("select XmlColumn from Table", connection))
{
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
var xmlDoc = XDocument.Load(reader["XmlColumn"].ToString());
// do sth with xml:
var id = xmlDoc.Elements().Where(e => e.Name.Equals("Ping")).Select(e => e.Attribute("id").Value);
}
}
}