So finden Sie ein Element mit einem bestimmten Attribut (LINQ to XML)
In diesem Artikel finden Sie Beispiele, wie Sie ein Element finden, dessen Attribut einen bestimmten Wert aufweist.
Beispiel: Suchen eines Elements, dessen Attribut einen bestimmten Wert aufweist
Das folgende Beispiel zeigt die Suche nach dem Address
-Element mit dem Type
-Attribut und dem Wert "Billing". Im Beispiel wird das XML-Dokument XML-Beispieldatei: Typische Bestellung verwendet.
XElement root = XElement.Load("PurchaseOrder.xml");
IEnumerable<XElement> address =
from el in root.Elements("Address")
where (string)el.Attribute("Type") == "Billing"
select el;
foreach (XElement el in address)
Console.WriteLine(el);
Dim root As XElement = XElement.Load("PurchaseOrder.xml")
Dim address As IEnumerable(Of XElement) = _
From el In root.<Address> _
Where el.@Type = "Billing" _
Select el
For Each el As XElement In address
Console.WriteLine(el)
Next
Dieses Beispiel erzeugt die folgende Ausgabe:
<Address Type="Billing">
<Name>Tai Yee</Name>
<Street>8 Oak Avenue</Street>
<City>Old Town</City>
<State>PA</State>
<Zip>95819</Zip>
<Country>USA</Country>
</Address>
Beispiel: Suchen eines Elements in XML, das sich in einem Namespace befindet
Im folgenden Beispiel wird dieselbe Abfrage aber für XML in einem Namespace gezeigt. Es wird das XML-Dokument XML-Beispieldatei: Typische Bestellung in einem Namespace verwendet.
Weitere Informationen zu Namespaces finden Sie unter der Übersicht der Namespaces.
XElement root = XElement.Load("PurchaseOrderInNamespace.xml");
XNamespace aw = "http://www.adventure-works.com";
IEnumerable<XElement> address =
from el in root.Elements(aw + "Address")
where (string)el.Attribute(aw + "Type") == "Billing"
select el;
foreach (XElement el in address)
Console.WriteLine(el);
Imports <xmlns:aw='http://www.adventure-works.com'>
Module Module1
Sub Main()
Dim root As XElement = XElement.Load("PurchaseOrderInNamespace.xml")
Dim address As IEnumerable(Of XElement) = _
From el In root.<aw:Address> _
Where el.@aw:Type = "Billing" _
Select el
For Each el As XElement In address
Console.WriteLine(el)
Next
End Sub
End Module
Dieses Beispiel erzeugt die folgende Ausgabe:
<aw:Address aw:Type="Billing" xmlns:aw="http://www.adventure-works.com">
<aw:Name>Tai Yee</aw:Name>
<aw:Street>8 Oak Avenue</aw:Street>
<aw:City>Old Town</aw:City>
<aw:State>PA</aw:State>
<aw:Zip>95819</aw:Zip>
<aw:Country>USA</aw:Country>
</aw:Address>
Siehe auch
- Attribute
- Elements
- Standard Query Operators Overview (C#) (Übersicht über Standardabfrageoperatoren (C#))
- Projection Operations (C#) (Projektionsvorgänge (C#))
- Standardabfragen (LINQ to XML) (Visual Basic)
- Standard Query Operators Overview (Visual Basic) (Übersicht über Standardabfrageoperatoren (Visual Basic))
- Projektionsvorgänge (Visual Basic)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für