检索兄弟xml元素

时间:2017-06-08 19:24:07

标签: xml xelement

我有一组xml元素是兄弟姐妹

<z>1</z>
<b>1</b>
<w>1</w>
<n>1</n>
<e>1</e>
<v>1</v>

XElement y目前指向Element e。我现在想看看元素b。

代码

var y = e.ElementsBeforeSelf("b");

会返回仅包含元素b的集合。

当然,现在我只需要返回单个元素b。我并不总是确定元素b将是e之上的固定数量的元素。我错过了一些非常明显的东西,因为我无法看到很多好文章来解决这个问题。

我尝试过的事情:

var y = e.ElementsBeforeSelf().First().Element("b");
var y = e.ElementsBeforeSelf("b").Element("b");
var y = e.ElementsBeforeSelf().Single().Element("b");
var y = e.ElementsBeforeSelf().Single(x=>x.Name=="b").Element("b");

如何选择并返回单个元素b,从元素e开始?

2 个答案:

答案 0 :(得分:2)

var y = e.ElementsBeforeSelf("b").First();

答案 1 :(得分:0)

在VB中,这将是

    'y has element e
    Dim b As XElement
    b = y.Parent.<b>.SingleOrDefault

C#版本应该类似。