Extensions.Attributes メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ソース コレクション内のすべての要素の属性のコレクションを返します。
オーバーロード
Attributes(IEnumerable<XElement>) |
ソース コレクション内のすべての要素の属性のコレクションを返します。 |
Attributes(IEnumerable<XElement>, XName) |
ソース コレクション内のすべての要素の、フィルター処理された属性のコレクションを返します。 一致する XName を持つ要素のみがコレクションに含められます。 |
注釈
Visual Basicユーザーは、統合属性軸を使用して、要素のコレクションから特定の名前を持つ属性を取得できます。
このメソッドは遅延実行を使用します。
Attributes(IEnumerable<XElement>)
ソース コレクション内のすべての要素の属性のコレクションを返します。
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)
パラメーター
- source
- IEnumerable<XElement>
ソース コレクションが格納されている IEnumerable<T> の XElement。
戻り値
ソース コレクション内のすべての要素の属性が格納された、IEnumerable<T> の XAttribute。
例
次の例では、要素のコレクションを取得し、コレクション内のすべての要素のすべての属性のコレクションを取得します。 結果のコレクションには、要素のChild1``Child2
属性のみが含まれており、要素のRoot
属性は含まれていないことに注意してください。
名前空間属性は、このメソッドによって返されることに注意してください。
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
この例を実行すると、次の出力が生成されます。
<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"
同じ例を次に示しますが、この場合、XML は名前空間にあります。 詳細については、「 XML 名前空間の操作」を参照してください。 名前空間属性は、返されるコレクションに含まれていることに注意してください。
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
この例を実行すると、次の出力が生成されます。
<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"
注釈
他の XML プログラミング インターフェイスとは異なり、LINQ to XMLでは、名前空間が属性として表示されることに注意してください。
Visual Basicユーザーは、統合属性軸を使用して、要素のコレクションから指定された名前の属性を取得できますが、コレクション内のすべての要素のすべての属性を取得する統合Visual Basic軸はありません。
このメソッドは遅延実行を使用します。
こちらもご覧ください
適用対象
Attributes(IEnumerable<XElement>, XName)
ソース コレクション内のすべての要素の、フィルター処理された属性のコレクションを返します。 一致する XName を持つ要素のみがコレクションに含められます。
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)
パラメーター
- source
- IEnumerable<XElement>
ソース コレクションが格納されている IEnumerable<T> の XElement。
戻り値
ソース コレクション内のすべての要素の、フィルター処理された属性のコレクションが格納された、IEnumerable<T> の XAttribute。 一致する XName を持つ要素のみがコレクションに含められます。
例
次の例では、要素のコレクションを取得します。この場合、要素とChild2
要素がChild1
含まれます。 その後、その子コレクションのすべての属性を名前 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
この例を実行すると、次の出力が生成されます。
Att1="content3"
Att1="content5"
注釈
他の一部の XML プログラミング インターフェイスとは異なり、LINQ to XMLでは名前空間が属性として表示されることに注意してください。
このメソッドは遅延実行を使用します。