使用C#将xml文件(3000)导入SQL Server

本文关键字:导入 SQL Server 3000 xml 文件 使用 | 更新日期: 2023-09-27 18:25:03

可能重复:
使用C#将XML导入SQL

我刚刚从soapweb服务下载了大约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_"answers"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文件(3000)导入SQL Server

以下是步骤(大致)。

  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调用的输出已经在文件中,则不必真正使用它们。