【问题标题】:Import xml files (3000) into SQL Server using C# [duplicate]使用 C# 将 xml 文件 (3000) 导入 SQL Server [重复]
【发布时间】:2012-02-19 19:21:15
【问题描述】:

可能重复:
Import XML to SQL using C#

我刚刚从soap Web 服务下载了大约3000 个XML 文件,我想将它们导入SQL Server。这是一个xml:

<my:SAP_kis_bil>
  <my:sap_code>2223M2F024153</my:sap_code>
  <my:sap_education>11</my:sap_education>
  <my:sap_kron>no</my:sap_kron>
  <my:sap_miltpos>soldier</my:sap_miltpos>
  <my:sap_miltgroup>2</my:sap_miltgroup>
  <my:sap_miltcat>CA</my:sap_miltcat>
  <my:sap_milttermdate>1970-11-20</my:sap_milttermdate>
  <my:sap_miltstartdate>1979-11-20</my:sap_miltstartdate>
  <my:sap_birthdate>1900-09-20</my:sap_birthdate>
  <my:sap_miltno>HZ 2931559</my:sap_miltno>
</my:SAP_kis_bil>

<my:LG_kis_bil>
  <my:lg_code>2223M2F024153</my:lg_code>
  <my:lg_name>John</my:lg_name>
  <my:lg_birthdate>1900-09-20</my:lg_birthdate>
  <my:lg_miltstatus>TECl</my:lg_miltstatus>
  <my:lg_drivingclass></my:lg_drivingclass>
  <my:lg_mobile1>+82316721233</my:lg_mobile1>
</my:LG_kis_bil>

大约 3000 个这样的 xml 文件。所以我们有“lg_”和“sap_”,其中一些应该在 SQL Server 中作为多行排序。我已经有几个这样的 sql 表:

CREATE TABLE [dbo].[TBL_SAP_XARICI](
    [code] [nvarchar](50) NULL,
    [orgname_x] [nvarchar](100) NULL,
    [orgdiv_x] [nvarchar](100) NULL,
    [orgplace_x] [nvarchar](100) NULL,
    [orgpos_x] [nvarchar](100) NULL,
    [orgstartdate_x] [date] NULL,
    [orgenddate_x] [date] NULL,
    [orgendreason_x] [nvarchar](100) NULL,
    [orgcountry_x] [nvarchar](50) NULL
) ON [PRIMARY]

现在我需要在 C# 控制台应用程序中实现(导入、传输)这个。但这是我的第一次体验。请帮助在 C# 中实现应用程序或只是“展示方式”。谢谢你。

【问题讨论】:

  • 那么你想用C#解析XML然后加载到SQL Server吗?您在这里有很多选择。你需要添加一些细节,这真的是开放式的
  • 在搜索框中输入您的主题行会出现 57 个类似问题。您的问题与他们有何不同?
  • 是的,我想解析并加载到 SQL。我应该添加哪些细节?

标签: c# xml sql-server-2008 import


【解决方案1】:

这是步骤(大致)。

  1. 从 Visual Studio 添加对 C# 项目的 Web 引用(右键单击 Web 引用,添加)。这将生成所有代理类来反序列化您的 xml 文件。
  2. 将您的 XML 文件反序列化为对象(请参阅 http://msdn.microsoft.com/en-us/library/he66c7f1.aspx
  3. 将您的对象保存到数据库中(请参阅http://msdn.microsoft.com/en-us/library/ms233812(v=vs.80).aspx

请注意,第 1 步还将创建使用 Web 服务的类,但如果文件中已有 SOAP 调用的输出,则实际上不必使用它们。

【讨论】:

  • 要将 3000 个 xml 文件反序列化为对象,我会使用任何循环吗?
猜你喜欢
  • 2012-07-15
  • 2013-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-21
  • 1970-01-01
  • 2021-10-14
  • 2016-10-29
相关资源
最近更新 更多