C# - Выберите потомков XML с Linq

Я полагаю, что их существование может быть прослежено до возможность , что где-нибудь, кто-то использует компилятор с операционной системой, набор символов которой так архаичен, что это не обязательно имеет все символы, что C или C++ должны выразить целый язык.

кроме того, это делает для хороших записей в IOCCC.

8
задан Donut 17 September 2009 в 14:51
поделиться

3 ответа

var items = doc.Descendants("field")
               .Where(node => (string)node.Attribute("name") == "Name")
               .Select(node => node.Value.ToString())
               .ToList();
16
ответ дан 5 December 2019 в 05:56
поделиться

Прежде всего, убедитесь, что ваш XML имеет единственный корневой узел:

<rows>
<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>
</rows>

После этого вы можете использовать следующий код для загрузки xml:

string xml = //Get your XML here    
XElement xElement = XElement.Parse(xml);
//This now holds the set of all elements named field
var items = 
       xElement
      .Descendants("field")
      .Where(n => (string)n.Attribute("name") == "Name");
11
ответ дан 5 December 2019 в 05:56
поделиться

Я думаю, что Linq to Sql является наиболее прямым подходом:

var items = (from c in doc.Descendants("field")
            where c.Attribute("name").Value == "Name"
            select c.Value
            ).ToList();
1
ответ дан 5 December 2019 в 05:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: