我已經編寫了一個用於學習目的的任務計劃程序。目前我正在將預定任務保存爲純文本,然後使用正則表達式對其進行解析。這看起來很亂(代碼明智),並不是很連貫。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