我有以下格式的xml文檔。XML到LINQ元素選擇
<?xml version="1.0" encoding="UTF-8" ?>
<Rows>
<Row>
<Field Name='PhysicalLocation'>11;#West</Field>
<Field Name='ID'>3327</Field>
</Row>
</Rows>
我試圖做一個linq選擇。
我試過以下。
XDocument xmlDoc = XDocument.Load("C:\\manifest.xml");
var query = from item in xmlDoc.Descendants("Rows").Elements()
select new { ID = item.Attribute("ID").Value, Value = item.Attribute("PhysicalLocation").Value };
而且還
XDocument xmlDoc = XDocument.Load("C:\\manifest.xml");
var query = from item in xmlDoc.Descendants("Rows").Elements()
select new { ID = item.Element("ID"), Value = item.Element("PhysicalLocation") };
而在這兩種情況下我似乎短上來。它正在生成預期數量的行,但這些值未被填充。
任何人都可以指向正確的方向嗎?我錯過了什麼?
謝謝您的輸入可惜與上面的代碼我收到以下錯誤:{「給定的關鍵是不存在的字典。 「} – 2012-02-06 23:49:01
@MaximGershkovich - 我用你的問題中提供的XML示例,它對我來說工作得很好。讓我知道你是否有不好的XML,或者你是否有稍微複雜的要求。 – Enigmativity 2012-02-07 00:18:44
我的不好,我有一些不好的數據(我有一個40MB的XML數據集)。你是對的,你的代碼很好用。謝謝... – 2012-02-07 00:57:54