1
我想問一個oldie(但是好的)Reading the list of References from csproj files(儘管我不是那個問題的作者)的後續問題。Linq to XML,只接受具有某個子元素的元素
在我的文件的csproj解析,我需要選擇具有鏈接元素作爲孩子的所有編譯元素。
我第一次嘗試的答案延伸到鏈接的問題如下:
IEnumerable<string> links = csprojFile
Element(msbuild + "Project")
.Elements(msbuild + "ItemGroup")
.Elements(msbuild + "Compile")
.Where(element => element.HasElements)
.Attributes("Include")
這顯然是不夠的,因爲它選擇具有任何類型的孩子的所有元素(因此而選擇我想要的一些中,也挑選額外)。所以然後我嘗試:
IEnumerable<string> links = csprojFile
.Element(msbuild + "Project")
.Elements(msbuild + "ItemGroup")
.Elements(msbuild + "Compile")
.Where(element => element.HasElements && element.Descendants("Link").Any())
.Attributes("Include")
.Select(element => element.Value);
...它不返回任何東西。我是Linq的初學者,尤其是Linq2XML的初學者,但對我來說,「Where」子句說:「元素有孩子,至少有一個孩子名爲Link」。那是錯的嗎?
非常感謝幫助。
工程就像一個魅力,謝謝。我知道它應該在那裏,而且在我看來它是(它顯然超過了我的眼睛看到的),有時需要另一個人指出(並笑)顯然:) – 2009-11-16 20:01:51