我需要将数据集编写为 XML 数据
我需要从以下数据集生成以下 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>
I need to generate the following xml output from the following dataset. I have attached the dataset and the xml output sample. I am going to put the C# code in a SSIS script task. Can you guys help me to write to code in C#. I am a database guy but i really don't know how this XML works with dataset. I'd really appricate if you can help. Thanks In advance.
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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
DataSet 类有一个
WriteXml
函数将数据写入文件,或GetXml
将其作为字符串返回。 MSDN 上的文档有进一步的解释如果您的 XML 结构与数据库结构不同,则自定义输出以使其完全符合您的需要。The DataSet class has a
WriteXml
function to write your data to a file, orGetXml
to return it as a string. The documentation on MSDN has further explanation of customizing the output to get it to match exactly what you need, if your XML structure differs from your database structure.我认为您可以使用:
您可以使用
DataSet
方法ReadXml
将其读回到DataSet
中。您还可以使用以下方法获取
XmlDataDocument
:I think you can just use:
You can read it back into a
DataSet
using theDataSet
methodReadXml
.You can also use the following to get an
XmlDataDocument
: