我已经编写了一个用于学习目的的任务计划程序。目前我正在将预定任务保存为纯文本,然后使用正则表达式对其进行解析。这看起来很乱(代码明智),并不是很连贯。XML解析 - 读取简单的XML文件并检索值
我想从XML文件加载计划的任务,而不是寻找一些解决方案,但我无法实现它的工作方式。
我写的结构像这样保存在我的数据的XML文件:
<Tasks>
<Task>
<Name>Shutdown</Name>
<Location>C:/WINDOWS/system32/shutdown.exe</Location>
<Arguments>-s -f -t 30</Arguments>
<RunWhen>
<Time>8:00:00 a.m.</Time>
<Date>18/03/2011</Date>
<Days>
<Monday>false</Monday>
<Tuesday>false</Tuesday>
<Wednesday>false</Wednesday>
<Thursday>false</Thursday>
<Friday>false</Friday>
<Saturday>false</Saturday>
<Sunday>false</Sunday>
<Everyday>true</Everyday>
<RunOnce>false</RunOnce>
</Days>
</RunWhen>
<Enabled>true</Enabled>
</Task>
</Tasks>
我想分析数据的方式是像这样:
- 未完成任务。 xml
- 加载第一个Task标签。
- 在该任务中检索Name,Location和Arguments标签的值。
- 然后打开RunWhen标签并检索时间和日期标签的值。
- 之后,打开Days标签并检索其中每个单独标签的值。
- 检索已启用的值。
- 加载下一个任务并重复步骤3→7,直到任务中的所有任务标签都被解析。
我很相信你能做到这样,我就不能工作了,因为有这么多不同的方式来做事的XML我有点不知所措。但是到目前为止,我最喜欢使用XPathDocument和XPathNodeIterator吗?
如果有人能告诉我一个例子或向我解释这将如何完成,我会很高兴。
我得到它的工作完美,谢谢堆:) – Lucidity 2011-04-09 12:22:54
这真的很简单,谢谢 – 2013-04-18 06:55:27
对于那些想要复制/粘贴此代码,还需要添加“using System.Xml.Linq;” – VenerableAgents 2015-04-15 18:57:48