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 de atributos de cada elemento na coleção de origem.
Sobrecargas
Attributes(IEnumerable<XElement>) |
Retorna uma coleção de 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 um 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.
Este método utiliza execução adiada.
Attributes(IEnumerable<XElement>)
Retorna uma coleção de 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);
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> do XElement que contém a coleção de origem.
Retornos
Um IEnumerable<T> do XAttribute que contém os atributos de cada elemento da 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 da 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
Esse exemplo gera a saída a seguir:
<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 Work with XML Namespaces. 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
Esse exemplo gera a saída a seguir:
<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.
Este método utiliza 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 um 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);
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> do XElement que contém a coleção de origem.
Retornos
Um IEnumerable<T> de XAttribute que contém uma coleção filtrada dos atributos de cada elemento na coleção de origem. Somente os elementos que têm um XName correspondente são incluídos na coleção.
Exemplos
O exemplo a seguir recupera uma coleção de elementos, que, nesse caso, inclui os elementos eChild2
.Child1
Em seguida, ele 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
Esse exemplo gera a saída a seguir:
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.
Este método utiliza execução adiada.