我有以下代码,动态选择所有不同的元素名称;我也想看看这些元素的值。我怎么能用LINQ做到这一点?我也乐于采取其他方式。
- Folder_01may2017.zip
+ file_A.txt
+ file_B.txt
- Folder_06may2017.zip
+ file_A.txt
+ file_B.txt
答案 0 :(得分:1)
这样的事情会起作用
XDocument doc = XDocument.Load("XMLFile1.xml");
foreach (var name in doc.Descendants("QueryResults").Elements()
.Select(x => new {Name = x.Name, Value = e.Value}).Distinct())
{
}
答案 1 :(得分:1)
接受的查询与原始查询不同,因为它会更改var books = [
new Book( "Always Running", "Luis J. Rodriguez", true ),
new Book( "Hatchet", "Gary Paulsen", true ),
// etc
];
的工作方式,因为它不再只比较Distinct
而且还会比较Name
。如果您想查看哪些名称具有哪些值,您需要在Value
上使用GroupBy
并获取每个项目的Name
。
Value
答案 2 :(得分:0)
您只需使用name.Value
,这是XElement
的字符串属性。