0
我正在編寫一個程序來解析一些第三方XML文件。該結構是一樣的東西......用xlinq有效地「鑽取」到XML樹中?
<CharacterSheet>
...
<StatBlock>
...
<Stat>
...
<alias />
...
</Stat>
...
</StatBlock>
...
</CharacterSheet>
我使用這個在獲得一些實踐與LINQ,而且我澄清我必須寫一些真難看鏈接查詢來獲得我想要的東西,一個列表統計信息及其所有別名。
var CharSheet = from i in character.Elements()
where i.Name == "CharacterSheet"
select i;
var StatBlocks = from sheet in CharSheet
from statBlock in sheet.Elements()
where statBlock.Name == "StatBlock"
select statBlock;
var stats = from statBlock in StatBlocks
from stat in statBlock.Elements()
select stat;
var statAliases = from stat in stats
from alias in stat.Elements()
where alias.Name == "alias"
select new { stat, alias };
而且我知道我可以做的是爲使用「轉變爲」一個很長的查詢(這是原來我怎麼過的),但只是使它更加密集和困難的工作。
似乎有一個更簡單的方法來做我想做的事情。
謝謝!這實際上是我自然的傾向(嘗試.Elements(「名稱」),但在Visual Studio中它是說我唯一可以傳遞的參數是一個XName,所以我甚至沒有嘗試使用一個字符串,我不能弄清楚如何製作一個XName 但是,它完美的工作(或者,至少,編譯器不介意我把字符串放在那裏......我還沒有測試過,但我懷疑它應該沒問題) 謝謝! – Asmor 2009-06-10 16:55:48