Extensions.Attributes Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna uma coleção dos atributos de cada elemento na coleção de origem.
Sobrecargas
| Nome | Description |
|---|---|
| Attributes(IEnumerable<XElement>) |
Retorna uma coleção dos atributos de cada elemento na coleção de origem. |
| Attributes(IEnumerable<XElement>, XName) |
Retorna uma coleção filtrada dos atributos de cada elemento na coleção de origem. Somente os elementos que têm uma XName correspondente são incluídos na coleção. |
Comentários
Visual Basic usuários podem usar o eixo de atributo integrado para recuperar atributos com um nome específico de uma coleção de elementos.
Esse método usa a execução adiada.
Attributes(IEnumerable<XElement>)
Retorna uma coleção dos atributos de cada elemento na coleção de origem.
public:
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<System::Xml::Linq::XAttribute ^> ^ Attributes(System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ source);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XAttribute> Attributes(this System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> source);
static member Attributes : seq<System.Xml.Linq.XElement> -> seq<System.Xml.Linq.XAttribute>
<Extension()>
Public Function Attributes (source As IEnumerable(Of XElement)) As IEnumerable(Of XAttribute)
Parâmetros
- source
- IEnumerable<XElement>
Um IEnumerable<T> deles contém a coleção de XElement origem.
Retornos
Um IEnumerable<T> deles XAttribute contém os atributos de cada elemento na coleção de origem.
Exemplos
O exemplo a seguir recupera uma coleção de elementos e recupera uma coleção de todos os atributos de todos os elementos na coleção. Observe que a coleção resultante inclui apenas os atributos dos Child1 elementos e Child2 e não os atributos do Root elemento.
Observe que o atributo namespace é retornado por esse método.
XElement xmlTree = new XElement("Root",
new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),
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")
)
);
Console.WriteLine(xmlTree);
Console.WriteLine("-----");
IEnumerable<XAttribute> attList =
from att in xmlTree.DescendantsAndSelf().Attributes()
select att;
foreach (XAttribute att in attList)
Console.WriteLine(att);
Dim xmlTree As XElement = _
<Root xmlns:aw="http://www.adventure-works.com" Att1="content1" Att2="content2">
<Child1 Att1="content3" Att2="content4"/>
<Child2 Att1="content5" Att2="content6"/>
</Root>
Dim attList = _
From att In xmlTree.DescendantsAndSelf.Attributes _
Select att
Console.WriteLine(xmlTree)
Console.WriteLine("-----")
For Each att As XAttribute In attList
Console.WriteLine(att)
Next
Este exemplo produz a seguinte saída:
<Root xmlns:aw="http://www.adventure-works.com" Att1="content1" Att2="content2">
<Child1 Att1="content3" Att2="content4" />
<Child2 Att1="content5" Att2="content6" />
</Root>
-----
xmlns:aw="http://www.adventure-works.com"
Att1="content1"
Att2="content2"
Att1="content3"
Att2="content4"
Att1="content5"
Att2="content6"
O exemplo a seguir é o mesmo, mas nesse caso o XML está em um namespace. Para obter mais informações, consulte Trabalhar com namespaces XML. Observe que o atributo namespace está incluído na coleção retornada.
XNamespace aw = "http://www.adventure-works.com";
XElement xmlTree = new XElement(aw + "Root",
new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),
new XAttribute(aw + "Att1", "content1"),
new XAttribute(aw + "Att2", "content2"),
new XElement(aw + "Child1",
new XAttribute(aw + "Att1", "content3"),
new XAttribute(aw + "Att2", "content4")
),
new XElement(aw + "Child2",
new XAttribute(aw + "Att1", "content5"),
new XAttribute(aw + "Att2", "content6")
)
);
Console.WriteLine(xmlTree);
Console.WriteLine("-----");
IEnumerable<XAttribute> attList =
from att in xmlTree.DescendantsAndSelf().Attributes()
select att;
foreach (XAttribute att in attList)
Console.WriteLine(att);
Imports <xmlns:aw="http://www.adventure-works.com">
Module Module1
Sub Main()
Dim xmlTree As XElement = _
<aw:Root xmlns:aw="http://www.adventure-works.com" aw:Att1="content1" aw:Att2="content2">
<aw:Child1 aw:Att1="content3" aw:Att2="content4"/>
<aw:Child2 aw:Att1="content5" aw:Att2="content6"/>
</aw:Root>
Dim attList = _
From att In xmlTree.DescendantsAndSelf.Attributes _
Select att
Console.WriteLine(xmlTree)
Console.WriteLine("-----")
For Each att As XAttribute In attList
Console.WriteLine(att)
Next
End Sub
End Module
Este exemplo produz a seguinte saída:
<aw:Root xmlns:aw="http://www.adventure-works.com" aw:Att1="content1" aw:Att2="content2">
<aw:Child1 aw:Att1="content3" aw:Att2="content4" />
<aw:Child2 aw:Att1="content5" aw:Att2="content6" />
</aw:Root>
-----
xmlns:aw="http://www.adventure-works.com"
aw:Att1="content1"
aw:Att2="content2"
aw:Att1="content3"
aw:Att2="content4"
aw:Att1="content5"
aw:Att2="content6"
Comentários
Observe que, ao contrário de algumas outras interfaces de programação XML, em LINQ to XML, os namespaces são exibidos como atributos.
Embora Visual Basic usuários possam usar o eixo de atributo integrado para recuperar atributos com um nome especificado de uma coleção de elementos, não há nenhum eixo Visual Basic integrado para recuperar todos os atributos de todos os elementos em uma coleção.
Esse método usa a execução adiada.
Confira também
Aplica-se a
Attributes(IEnumerable<XElement>, XName)
Retorna uma coleção filtrada dos atributos de cada elemento na coleção de origem. Somente os elementos que têm uma XName correspondente são incluídos na coleção.
public:
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<System::Xml::Linq::XAttribute ^> ^ Attributes(System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ source, System::Xml::Linq::XName ^ name);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XAttribute> Attributes(this System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> source, System.Xml.Linq.XName name);
static member Attributes : seq<System.Xml.Linq.XElement> * System.Xml.Linq.XName -> seq<System.Xml.Linq.XAttribute>
<Extension()>
Public Function Attributes (source As IEnumerable(Of XElement), name As XName) As IEnumerable(Of XAttribute)
Parâmetros
- source
- IEnumerable<XElement>
Um IEnumerable<T> deles contém a coleção de XElement origem.
Retornos
Um IEnumerable<T> deles contém uma coleção filtrada dos atributos de cada elemento na coleção de XAttribute origem. Somente os elementos que têm uma XName correspondente são incluídos na coleção.
Exemplos
O exemplo a seguir recupera uma coleção de elementos, que, nesse caso, inclui elementos e Child2 elementosChild1. Em seguida, recupera todos os atributos dessa coleção filho com um nome de 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);
Dim xmlTree As XElement = _
<Root Att1="content1" Att2="content2">
<Child1 Att1="content3" Att2="content4">
</Child1>
<Child2 Att1="content5" Att2="content6">
</Child2>
</Root>
Dim attList = From att In xmlTree.Elements.Attributes("Att1") _
Select att
For Each att As XAttribute In attList
Console.WriteLine(att)
Next
Este exemplo produz a seguinte saída:
Att1="content3"
Att1="content5"
Comentários
Observe que, ao contrário de algumas outras interfaces de programação XML, em LINQ to XML, os namespaces são exibidos como atributos.
Esse método usa a execução adiada.