【发布时间】:2016-11-23 16:19:56
【问题描述】:
我正在尝试在 Visual Studio - C# 中使用 Linq to XML 来提取 XML 文件中的所有元素并按它们的值对它们进行分组。
这是我的 XML 代码:
<?xml version="1.0" encoding="utf-8"?>
<topTerms>
<topTerm>Cat</topTerm>
<topTerm>Dog</topTerm>
<topTerm>Cat</topTerm>
<topTerm>Dog</topTerm>
<topTerm>Cat</topTerm>
<topTerm>Bird</topTerm>
<topTerm>Cat</topTerm>
</topTerms>
然后,我使用以下 C# 代码尝试提取数据并按 topTerm 元素的值对其进行分组。
var top = 0;
var topName = "";
var topTermsUrl = Server.MapPath("XML/topTerms.xml");
XDocument topTermsFile = XDocument.Load(topTermsUrl);
var topTermDocuments = topTermsFile.Root
.Elements("topTerm")
.GroupBy(a => a.Value);
foreach (var topTerm in topTermDocuments)
{
topName = topTerm.Value;
top = topTerm.Count();
}
但是,topTerm.Value 不起作用。当我循环通过时,它将计算每个值的出现次数,但我无法获得正在计算的字符串值。有什么想法吗?
【问题讨论】:
标签: c# linq-to-xml