我有一个简单的问题,但我不知道如何解决它。我有一个看起来像这样的XML文档
<hotel>
<rooms>
</rooms>
<rates>
<rooms>
</rooms>
</rates>
</hotel>
现在,在我的代码中,我有以下
XElement hotel = xDoc.Descendants("hotel").Single();
XElement rooms = hotel.Descendants("rooms").Single();
最后一行失败,因为有两个rooms
个节点。我想要Descendants
做的是给当前节点的立即后代,而不是每个后代,无论它在文档中的什么位置。这怎么可能?
谢谢,
萨钦
答案 0 :(得分:1)
要获取rooms
节点的第一个hotel
子元素,请使用Element
方法:
XElement rooms = hotel.Element("rooms");
此外,如果您真的使用XDocument
,则hotel
节点将成为根,并且可以使用xDoc.Root
属性进行访问。