我需要将数据集编写为XML数据

本文关键字:XML 数据 数据集 | 更新日期: 2023-09-27 17:54:54

我需要从以下数据集生成以下xml输出。我附加了数据集和xml输出示例。我将把c#代码放在一个SSIS脚本任务中。你们能帮我用c#写代码吗?我是一个数据库的家伙,但我真的不知道这个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>

我需要将数据集编写为XML数据

DataSet类有一个WriteXml函数用于将数据写入文件,或者GetXml函数用于将数据作为字符串返回。如果XML结构与数据库结构不同,MSDN上的文档对如何定制输出进行了进一步的解释,以使其与您所需要的完全匹配。

我想你可以直接使用:

string xml = yourDataSet.GetXml();

您可以使用DataSet方法ReadXml将其读取回DataSet

您还可以使用以下命令获取XmlDataDocument:

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