简体   繁体   English

如何在C#中选择特定的XML节点?

[英]How to select specific XML node in c#?

XML, XML,

 <A>
    <B  id="ABC">
      <C name="A" />
      <C name="B" />
      <C name="C" />
      <C name="G" />
    </B>
    <B id="ZYZ">
      <C name="1" />
      <C name="2" />
      <C name="3" />
      <C name="4" />
    </B>
  </A>

I Need to select only <C> nodes and assign to a variable. 我只需要选择<C>节点并分配给变量。

I'm using following c# code which is not working, 我正在使用以下不起作用的C#代码,

var asdf = c.Elements("C");

asdf should contain , asdf应该包含,

<C name="A" />
<C name="B" />
<C name="C" />
<C name="G" />
<C name="1" />
<C name="2" />
<C name="3" />
<C name="4" />

Any help appreciated! 任何帮助表示赞赏!

You need Descendants like: 您需要以下Descendants

var cNodes = document.Descendants("C");

For output: 对于输出:

foreach (var item in cNodes)
{
    Console.WriteLine(item);
}

You will get: 你会得到:

<C name="A" />
<C name="B" />
<C name="C" />
<C name="G" />
<C name="1" />
<C name="2" />
<C name="3" />
<C name="4" />

this run: 此运行:

XElement x = XElement.Parse("your_xml_string");

var asdf=x.Elements("B").Elements("C");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM