Extensions.Attributes Method (IEnumerable<XElement>, XName)
Returns a filtered collection of the attributes of every element in the source collection. Only elements that have a matching XName are included in the collection.
Namespace: System.Xml.Linq
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
public static IEnumerable<XAttribute> Attributes( this IEnumerable<XElement> source, XName name )
Parameters
- source
- Type: System.Collections.Generic.IEnumerable<XElement>
An IEnumerable<T> of XElement that contains the source collection.
- name
- Type: System.Xml.Linq.XName
The XName to match.
Return Value
Type: System.Collections.Generic.IEnumerable<XAttribute>An IEnumerable<T> of XAttribute that contains a filtered collection of the attributes of every element in the source collection. Only elements that have a matching XName are included in the collection.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable<XElement>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).The following example retrieves a collection of elements, which in this case includes the Child1 and Child2 elements. It then retrieves all attributes of that child collection with a name of Att1.
XElement xmlTree = new XElement("Root", new XAttribute("Att1", "content1"), new XAttribute("Att2", "content2"), new XElement("Child1", new XAttribute("Att1", "content3"), new XAttribute("Att2", "content4") ), new XElement("Child2", new XAttribute("Att1", "content5"), new XAttribute("Att2", "content6") ) ); IEnumerable<XAttribute> attList = from att in xmlTree.Elements().Attributes("Att1") select att; foreach (XAttribute att in attList) Console.WriteLine(att);
This example produces the following output:
Att1="content3" Att1="content5"
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.