2013-08-13 13 views
7

Stara klasa XmlElement posiadała właściwość FirstChild. Czym jest ekwiwalent XElement?Jak uzyskać pierwsze dziecko z XElement?

Visual Studio odrzuca .Element(), .Elements() [0].

EDYCJA: Dziękujemy za wszystkie sugestie. Nie zdawałem sobie sprawy, że muszę zaimportować System.Linq, aby użyć pierwszej metody.

Using System.Linq 
.Elements.First 

lub

Using System.Linq 
Descendants.First 

lub

.FirstNode 
+1

http://msdn.microsoft.com/en-us/library/system.xml.linq. xelement.aspx wspomina o FirstNode(); czy tego właśnie szukasz? –

+0

[Potomkowie] (http://msdn.microsoft.com/en-us/library/bb360635.aspx) –

+0

możliwy duplikat [Jak mogę uzyskać pierwszy element po elemencie z LINQ-to-XML?] (Http : //stackoverflow.com/questions/1222242/how-can-i-get-the-first-element-after-an-element-with-linq-to-xml) – phillip

Odpowiedz

8

Chcesz metodę IEnumerable<XElement> Descendants() klasy XElement.

XElement element = ...; 
XElement firstChild = element.Descendants().First(); 

Ten przykładowy program:

var document = XDocument.Parse(@" 
    <A x=""some""> 
     <B y=""data""> 
      <C/> 
     </B> 
     <D/> 
    </A> 
    "); 

Console.WriteLine(document.Root.Descendants().First().ToString()); 

Wytwarza to wyjście:

<B y="data"> 
    <C/> 
</B> 
Powiązane problemy