C#-使用Linq选择XML后代 [英] C# - Select XML Descendants with Linq

查看:74
本文介绍了C#-使用Linq选择XML后代的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我具有以下XML结构:

I have the following XML structure:

<row>
  <field name="Id">1</field>
  <field name="AreaId">1</field>
  <field name="Name">ת&quot;א</field>
</row>
<row>
  <field name="Id">2</field>
  <field name="AreaId">4</field>
  <field name="Name">אבטליון</field>
</row>

我想用Linq遍历name节点. 我试过了:

I want to iterate over the name nodes with Linq. I tried this:

var items = (from i in doc.Descendants("row")
                     select new
                     {
                         Text = i.Value

                     }).ToList();

但是它并没有按照我需要的方式工作.有什么建议吗?

But it didn't work the way I need it to. Any suggestions?

推荐答案

var items = doc.Descendants("field")
               .Where(node => (string)node.Attribute("name") == "Name")
               .Select(node => node.Value.ToString())
               .ToList();

这篇关于C#-使用Linq选择XML后代的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆