0

我有一个简单的问题,但我不知道如何解决它。我有一个看起来像这样的 XML 文档

<hotel>
   <rooms>
   </rooms>
   <rates>
      <rooms>
      </rooms>
   </rates>
</hotel>

现在,在我的代码中,我有以下内容

XElement hotel = xDoc.Descendants("hotel").Single();
XElement rooms = hotel.Descendants("rooms").Single();

最后一行失败,因为有两个rooms节点。我想要Descendants做的是给出当前节点的直接后代,而不是每个后代,无论它在文档中的什么位置。这怎么可能?

谢谢,

萨钦

4

1 回答 1

1

要获取节点的第一rooms个子元素,请使用以下方法:hotelElement

XElement rooms = hotel.Element("rooms");

此外,如果您真的使用 anXDocument那么该hotel节点将是根,并且可以使用该xDoc.Root属性进行访问。

于 2012-08-01T16:21:10.630 回答