【问题标题】:creating XML from SQL TABLE with column patterns使用列模式从 SQL TABLE 创建 XML
【发布时间】:2015-05-19 19:49:20
【问题描述】:

我有一个表格,下面有列,

SALES_ORDERS.ORDER_SLIP.NUMBER|SALES_ORDERS.ORDER_SLIP.DATE|SALES_ORDERS.ORDER_SLIP.ARP_CODE

我需要的 XML 输出如下所示

<SALES_ORDERS>
  <ORDER_SLIP>
    <NUMBER>TEST</NUMBER>
    <DATE>02.09.2014</DATE>
    <ARP_CODE>CARI1</ARP_CODE>
  </ORDER_SLIP>
</SALES_ORDERS>

我需要根据列名创建xml,其中包括从顶部开始的完整路径。

如何从这样的表中获取这样的 XML 文件?如果有必要,我可以使用 LINQ,但我不知道该怎么做?

【问题讨论】:

  • 您查看过FOR XML 命令吗??
  • 我已经调查过了,但它没有满足我的需要
  • 肯定是开箱即用的数据格式。但是如何编写一个带有表变量的查询,这些变量以一种欺骗 FOR XML 正确显示数据的方式排列数据。
  • 我想用一种非常动态的方式来解决它。我有很多 xml 类型。所以我的代码应该适用于所有类型

标签: c# sql-server xml linq


【解决方案1】:

太简单了

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace ConsoleApplication1
{
    class Program
    {
        const string FILENAME = @"c:\temp\test.xml";
        static void Main(string[] args)
        {
            string SQL = "Enter Your SQL Select string here";
            string connStr = "Enter You connection string here";

            SqlDataAdapter adapter = new SqlDataAdapter(SQL, connStr);

            DataSet ds = new DataSet();
            adapter.Fill(ds);
            ds.DataSetName = "SALES_ORDERS";

            ds.WriteXml(FILENAME, XmlWriteMode.WriteSchema);
        }
    }
}
​

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多