c# - 使用 Linq 解析 XML 时,只会获取一个对象

标签 c# xml linq linq-to-xml xml-parsing

我正在尝试使用以下 xml 填充数组:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
   <data>
         <item>
              <date>1307018090</date>
              <price>10.4718867</price>
              <low>10.38100000</low>
              <high>10.49000000</high>
              <nicedate>14:39</nicedate>
         </item>
         <item>
              ...
         </item>

等等

我正在使用这个 Linq 查询,这对我来说意味着它将为每个对象创建一个对象:

var items = from item in doc.Element("data").Descendants()
                    select new Currency
                    {
                        Close = item.Element("price").Value.ToString(),
                        Date = item.Element("date").Value.ToString(),
                        Low = item.Element("low").Value.ToString(),
                        High = item.Element("high").Value.ToString(),
                        Time = item.Element("nicedate").Value.ToString()
                    };

当我 foreach 遍历项目时,只有一个项目被选中。我不太习惯 Linq,所以我不知道如何正确构造此语句。有什么建议吗?

最佳答案

你需要像这样启动Linq-Xml

var items = 
from item in 
doc.Element("data")
.Elements("item")

关于c# - 使用 Linq 解析 XML 时,只会获取一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6227119/

相关文章:

c# - "select new"和 "Select(a => new"之间的区别

c# - Linq:如何按多对多关系分组?

c# - 是否有像Unity这样的东西可以用于不需要界面的简单事物?

c# - 不立即执行的单元测试代码

javascript - 读取其中包含 ]] 的 XML CDATA 部分

sql - 如果使用内联 SQL 不好,那么在实践中使用 LINQ 执行查询有何不同?

c# - 我可以依赖 DataAvailable 来获取 SSL 封装的网络流吗?

c# - ZEDGraph 无法更改轴颜色

.Net 命名表(命名空间)问题

r - R不同文件结构中的XML数据