我正在使用C#读取XML文件并计算XML标记中有多少"元素",例如......
<Languages>English, Deutsche, Francais</Languages>
Run Code Online (Sandbox Code Playgroud)
Languages标签内有3个"元素":英语,德语和法语.我需要知道如何计算它们并返回有多少元素的值.标签的内容有可能随着时间的推移而变化,因为XML文件必须扩展/容纳其他语言(只要需要).
如果无法做到这一点,请建议解决问题的方法.谢谢.
编辑:我没有提出读取XML文件的代码,但我也有兴趣学习如何.
编辑2:对问题进行了修订
string xml = @"<Languages>English, Deutsche, Francais</Languages>";
var doc = XDocument.Parse(xml);
string languages = doc.Elements("Languages").FirstOrDefault().Value;
int count = languages.Split(',').Count();
Run Code Online (Sandbox Code Playgroud)
为了响应您的编辑,这些编辑表明您不是简单地尝试从XML元素中提取逗号分隔的字符串,那么您首先存储XML的方法是不正确的.正如另一张海报评论的那样,它应该是:
<Languages>
<Language>English</Language>
<Language>Deutsche</Language>
<Language>Francais</Language>
</Languages>
Run Code Online (Sandbox Code Playgroud)
然后,获取语言计数:
string xml = @"<Languages>
<Language>English</Language>
<Language>Deutsche</Language>
<Language>Francais</Language>
</Languages>";
var doc = XDocument.Parse(xml);
int count = doc.Element("Languages").Elements().Count();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1916 次 |
| 最近记录: |