美好的一天,C#查詢XML文檔
我想查詢一個XML文檔,有以下查詢:
XElement root = XElement.Load(@"..\..\Data.xml");
var entries = root.Descendants()
.Where(x => x.Name.LocalName == "Entry")
.ToList();
Console.WriteLine("There are {0} nodes...", entries.Count());
foreach (XElement v in entries)
{
Console.WriteLine(v.Value);
}
與此代碼的工作,因爲它拉入口節點的正確數目。該條目 節點樣子:
<?xml version="1.0" encoding="UTF-8"?>
<Database xmlns="http://www.someurl.org/schemas">
<InfoFromRecord>
<BaseData>
<Entry>
<Date>2006-03-08</Date>XD
<Time>09:20:00</Time>
<EnteredBy>DNS</EnteredBy>
<TextEntry>Record 1</TextEntry>
</Entry>
<Entry>
<Date>2006-03-08</Date>
<Time>09:33:00</Time>
<EnteredBy>MW</EnteredBy>
<TextEntry>Record 2</TextEntry>
</Entry>
<Entry>
<Date>2006-03-08</Date>
<Time>08:58:00</Time>
<EnteredBy>BH</EnteredBy>
<TextEntry>Record 3</TextEntry>
</Entry>
</BaseData>
</InfoFromRecord>
</Database>
的問題是,我想只提取日期和時間,不是所有的四個字段。
我試過了,它沒有工作。它看起來像document.Root.Descendants(「Entry」)中沒有任何內容。我認爲後裔會得到文件中的任何節點。 – coson 2012-08-16 16:08:16
@coson編輯與更新回答。命名空間沒有被考慮在內。 – vcsjones 2012-08-16 16:14:06
工作。原來,沒有前綴的默認名稱空間需要考慮。 – coson 2012-08-16 16:17:41