【发布时间】:2011-08-02 00:54:51
【问题描述】:
我为学习目的编写了一个任务调度程序。目前,我将计划任务保存为纯文本,然后使用正则表达式对其进行解析。这看起来很混乱(代码方面)并且不是很连贯。
我想从 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>
我想解析数据的方式是这样的:
- 打开Tasks.xml
- 加载第一个任务标签。
- 在该任务中检索名称、位置和参数标签的值。
- 然后打开 RunWhen 标记并检索 Time 和 Date 标记的值。
- 然后打开 Days 标签并检索其中每个标签的值。
- 检索已启用的值。
- 加载下一个任务并重复步骤 3 -> 7,直到解析完 Tasks 中的所有 Task 标签。
我很确定你可以这样做,但我无法解决,因为在 XML 中有很多不同的方法来做事,我有点不知所措。但是到目前为止,我很可能会使用 XPathDocument 和 XPathNodeIterator 对吗?
如果有人可以向我展示一个示例或向我解释如何做到这一点,我会非常高兴。
【问题讨论】: