【问题标题】:Convert query/stored procedure result set to XML将查询/存储过程结果集转换为 XML
【发布时间】:2009-10-30 10:51:02
【问题描述】:

我希望获取 SQL Server 存储过程的结果并将其转换为 .NET/C# 中的 XML

我感兴趣的是 .NET 中有哪些标准库来帮助生成 XML 的细节,以及是否有任何外部库或技巧可以帮助自动从结果集转换为 XML。

我过去曾查看过 SQL Server (05) 中的 XML 选项,但它们的功能不足以满足我的要求。

【问题讨论】:

  • SQL Server(什么版本??)XML 能力怎么不够强大??这绝对是我的第一选择——首先在服务器上进行 XML 处理。
  • 你能告诉我们你的表是什么样子的吗?想要的输出是什么??
  • 那是 2005 年,我不记得具体细节了,但是对于非平凡的模式,我遇到了一些问题,我无法生产出我需要的一切。我当时研究了很多

标签: .net sql-server xml sql-server-2005


【解决方案1】:

.NET 中基本上有两种开箱即用的技术可以让您创建 XML。在这两种情况下,你都不会写很多代码。

1) XmlDocument 方法,例如基于 XML DOM 的处理方式。您创建一个 XmlDocument、创建节点、设置属性、创建子节点等,最后将所有内容保存到磁盘。

优点:适用于 .NET 1.x 及更高版本,非常普遍且广为人知 缺点:有点“笨拙”,将整个 XML 结构保存在内存中

MSDN docs 以及网络上的无数文章和博客文章中查看更多信息

2) 然后是较新的 Linq-to-XML 方法,您可以在其中使用 Linq 语句创建文档。这仅在 .NET 3.5 及更高版本中可用,有些人喜欢它,有些人则非常讨厌它 :-)

优点:如果您喜欢 LINQ,感觉它比 XML DOM 方法更自然且更“直接” 缺点:仅适用于 .NET 3.5 及更高版本

查看有关该主题的一些文章和博客文章:

当然还有更多 - 只需 bing 或 google 即可获得“linq to xml”。

【讨论】:

【解决方案2】:

绝对使用 .NET 3.5 中的 System.Xml.Linq(XDocument、XElement 等) 它更出色且更易于使用。不需要外部库(大部分)

【讨论】:

    猜你喜欢
    • 2013-06-18
    • 2013-10-22
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多