2011-05-05 12 views
0

我需要從以下數據集中生成以下xml輸出。我附加了數據集和xml輸出示例。我將把C#代碼放在SSIS腳本任務中。你們能幫我寫C#代碼嗎?我是一個數據庫傢伙,但我真的不知道這個XML如何與數據集一起工作。如果你能提供幫助,我真的很樂意。提前致謝。我需要將數據集編寫爲XML數據

AGENTID STARTDAY STARTMONTH STARTYEAR STARTHOUR STARTMINUTE ENDHOUR ENDMINUTE EXCEPTION 
910180 5 5 2011 10 30 11 0 OPEN 
910180 5 5 2011 11 0 11 30 OPEN 
910180 5 5 2011 11 30 12 0 OPEN 
910180 6 5 2011 17 30 18 0 OPEN 
910180 7 5 2011 18 0 18 30 OPEN 
911568 6 5 2011 16 30 17 0 OPEN 
911568 6 5 2011 19 0 19 30 OPEN 
911568 6 5 2011 19 30 20 0 OPEN 
911568 6 5 2011 20 0 20 30 OPEN 
911568 6 5 2011 20 30 21 0 OPEN 
911568 6 5 2011 21 0 21 30 OPEN 
911568 6 5 2011 22 0 22 30 OPEN 
911568 7 5 2011 10 30 11 0 OPEN 
911568 7 5 2011 11 0 11 30 OPEN 

 

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<agentScheduleList> 
    <agent> 
     <id>470185</id> 
     <schedule> 
      <day>12</day> 
      <month>8</month> 
      <year>2002</year> 
      <exception> 
       <startdate> 
        <day>12</day> 
        <month>8</month> 
        <year>2002</year> 
       </startdate> 
       <starttime> 
        <hour>22</hour> 
        <min>0</min> 
       </starttime> 
       <endtime> 
        <hour>2</hour> 
        <min>0</min> 
       </endtime> 
       <code>Open</code> 
      </exception> 
      <exception> 
       <startdate> 
        <day>13</day> 
        <month>8</month> 
        <year>2002</year> 
       </startdate> 
       <starttime> 
        <hour>2</hour> 
        <min>0</min> 
       </starttime> 
       <endtime> 
        <hour>3</hour> 
        <min>0</min> 
       </endtime> 
       <code>Lunch</code> 
      </exception> 
      <exception> 
       <startdate> 
        <day>13</day> 
        <month>8</month> 
        <year>2002</year> 
       </startdate> 
       <starttime> 
        <hour>3</hour> 
        <min>0</min> 
       </starttime> 
       <endtime> 
        <hour>7</hour> 
        <min>0</min> 
       </endtime> 
       <code>Open</code> 
      </exception> 
     </schedule> 
    </agent> 
    <agent> 
     <id>470185</id> 
     <schedule> 
      <day>13</day> 
      <month>8</month> 
      <year>2002</year> 
      <offexception/> 
     </schedule> 
    </agent> 
</agentScheduleList> 
+0

我重視的數據集和XML輸出樣本。 – mehmeto 2011-05-05 20:46:58

+1

因爲您的xml值與您的數據集不匹配,所以人們可能會發現很難爲xml代碼創建適當的數據集。 – 2011-05-06 00:24:21

回答

3

DataSet類具有WriteXml功能,將數據寫入一個文件,或GetXml返回它作爲一個字符串。 The documentation on MSDN進一步解釋瞭如果您的XML結構與您的數據庫結構不同,則定製輸出以使其與您所需的匹配。

+0

我使用XmlSerialize/Deserialize。我沒有意識到有一個Write/GetXml。很高興知道... – IAbstract 2011-05-05 21:00:41

1

我想你可以使用:

string xml = yourDataSet.GetXml(); 

可以使用DataSet方法ReadXml讀它放回一個DataSet

您也可以使用下面的方法獲得一個XmlDataDocument

System.Xml.XmlDataDocument xmlDoc = new System.Xml.XmlDataDocument(yourDataSet);