我有以下XML文件:
<data>
<set1>
<entry>Entry #1</entry>
<entry>Entry #2</entry>
</set1>
</data>
我试图读取SET元素的所有后代。我不确定如果我混淆元素和后代这样的术语,所以我暂时不再使用它们了。)
以下是我使用的C#代码:
List<String> list = new List<String>();
XDocument xml = XDocument.Load("file.xml");
var desc = xml.Descendants("set1");
foreach (var entry in desc) {
list.add(entry.Value);
Console.Write("element: " + entry.Value);
}
但是,不是两行控制台输出“Entry#1”和“Entry#2”,我只得到一个“Entry#1Entry#2”。谢谢你的帮助!
答案 0 :(得分:2)
喜欢的东西:
var desc = xd.Descendants("set1").Elements("entry");
答案 1 :(得分:1)
更改为
var desc = xml.Descendants("set1").Descendants();
还
Console.WriteLine
我刚试过它并且有效。
错误是Descendants("set1")
没有为您提供set1
的后代。它为您提供了名为 set1
的xml根后代。
对于Console.WriteLine
- 它在写入内容的末尾添加了换行符。