2013-08-13 16 views
7

Lớp XmlElement cũ có thuộc tính FirstChild. Tương đương XElement là gì?Làm cách nào để có được đứa con đầu tiên của XElement?

Loại bỏ Visual Studio .Element(), .Elements() [0].

CHỈNH SỬA: Cảm ơn tất cả các đề xuất. Tôi không nhận ra mình cần nhập System.Linq để sử dụng phương thức Đầu tiên.

Using System.Linq 
.Elements.First 

hoặc

Using System.Linq 
Descendants.First 

hoặc

.FirstNode 
+1

http://msdn.microsoft.com/en-us/library/system.xml.linq. xelement.aspx đề cập đến FirstNode(); đây là những gì bạn đang sau? –

+0

[Hậu duệ] (http://msdn.microsoft.com/en-us/library/bb360635.aspx) –

+0

có thể trùng lặp của [Làm thế nào tôi có thể nhận được phần tử đầu tiên sau một phần tử với LINQ-to-XML?] (Http : //stackoverflow.com/questions/1222242/how-can-i-get-the-first-element-after-an-element-with-linq-to-xml) – phillip

Trả lời

8

Bạn muốn phương thức IEnumerable<XElement> Descendants() của lớp XElement.

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

Chương trình này mẫu:

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

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

Tạo đầu ra này:

<B y="data"> 
    <C/> 
</B>