MSDN Library
Collapse the table of content
Expand the table of content

Cómo buscar un elemento con un atributo específico

Actualización: November 2007

En este tema se muestra cómo buscar un elemento que tiene un atributo con un valor específico.

El ejemplo muestra cómo buscar el elemento Address que tiene un atributo Type con un valor de "Billing".

Este ejemplo utiliza el siguiente documento XML: Archivo XML de muestra: pedido de compra típico (LINQ to XML). Archivo XML de muestra: pedido de compra típico (LINQ to XML).

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);

Este código genera el siguiente resultado:

<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>

Observe que la versión de Visual Basic de este ejemplo usa la propiedad Axis secundaria para XML, la propiedad Axis del atributo XML y la propiedad Value de XML.

El siguiente ejemplo muestra la misma consulta sobre un XML que se encuentra en un espacio de nombres. Para obtener más información, vea Trabajar con espacios de nombres XML.

Este ejemplo utiliza el siguiente documento XML: Archivo XML de muestra: pedido de compra típico en un espacio de nombres. Archivo XML de muestra: pedido de compra típico en un espacio de nombres.

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);

Este código genera el siguiente resultado:

<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>
Mostrar:
© 2016 Microsoft