XContainer.Element(XName) Metoda

Definicja

Pobiera pierwszy (w kolejności dokumentu) element podrzędny o określonym XName.Gets the first (in document order) child element with the specified XName.

public:
 System::Xml::Linq::XElement ^ Element(System::Xml::Linq::XName ^ name);
public System.Xml.Linq.XElement Element (System.Xml.Linq.XName name);
member this.Element : System.Xml.Linq.XName -> System.Xml.Linq.XElement
Public Function Element (name As XName) As XElement

Parametry

name
XName

XName Do dopasowania.The XName to match.

Zwraca

A XElement , który jest zgodny XNamez określonym nulllub.A XElement that matches the specified XName, or null.

Przykłady

Poniższy przykład przedstawia dwa zastosowania tej metody.The following example shows two uses of this method. W jednym przypadku Metoda znajduje element w srcTree.In one case, the method finds the element in srcTree. W drugim przypadku metoda nie znajduje elementu w drzewie źródłowym, żaden element nie jest dodawany do xmlTreei nie jest zgłaszany żaden wyjątek.In the second case, the method does not find the element in the source tree, no element is added to xmlTree, and no exception is thrown.

Należy zauważyć, że w Visual Basic przykładzie użyta jest podrzędna Właściwość XML.Note that the Visual Basic example uses the child XML property. Można również użyć Element metody bezpośrednio w Visual Basic.It is also allowable to use the Element method directly in Visual Basic.

XElement srcTree = new XElement("Root",  
    new XElement("Element1", 1),  
    new XElement("Element2", 2),  
    new XElement("Element3", 3),  
    new XElement("Element4", 4),  
    new XElement("Element5", 5)  
);  
XElement xmlTree = new XElement("Root",  
    new XElement("Child1", 1),  
    new XElement("Child2", 2),  
    new XElement("Child3", 3),  
    new XElement("Child4", 4),  
    new XElement("Child5", 5),  
    srcTree.Element("Element3"),  
    // Even though Element9 does not exist in srcTree, the following line  
    // will not throw an exception.  
    srcTree.Element("Element9")  
);  
Console.WriteLine(xmlTree);  
Dim srcTree As XElement = _   
        <Root>  
            <Element1>1</Element1>  
            <Element2>2</Element2>  
            <Element3>3</Element3>  
            <Element4>4</Element4>  
            <Element5>5</Element5>  
        </Root>  
  
Dim xmlTree As XElement = _  
        <Root>  
            <Child1>1</Child1>  
            <Child2>2</Child2>  
            <Child3>3</Child3>  
            <Child4>4</Child4>  
            <Child5>5</Child5>  
            <%= srcTree.<Element3> %>  
            <%= srcTree.<Element9> %>  
        </Root>  
  
' Even though Element9 does not exist in srcTree, adding it to the tree  
' will not throw an exception.  
  
Console.WriteLine(xmlTree)  

Ten przykład generuje następujące wyniki:This example produces the following output:

<Root>  
  <Child1>1</Child1>  
  <Child2>2</Child2>  
  <Child3>3</Child3>  
  <Child4>4</Child4>  
  <Child5>5</Child5>  
  <Element3>3</Element3>  
</Root>  

Poniżej znajduje się ten sam przykład, ale w tym przypadku kod XML znajduje się w przestrzeni nazw.The following is the same example, but in this case the XML is in a namespace. Aby uzyskać więcej informacji, zobacz Praca z przestrzeniami nazw XML.For more information, see Working with XML Namespaces.

XNamespace aw = "http://www.adventure-works.com";  
XElement srcTree = new XElement(aw + "Root",  
    new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),  
    new XElement(aw + "Element1", 1),  
    new XElement(aw + "Element2", 2),  
    new XElement(aw + "Element3", 3),  
    new XElement(aw + "Element4", 4),  
    new XElement(aw + "Element5", 5)  
);  
XElement xmlTree = new XElement(aw + "Root",  
    new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),  
    new XElement(aw + "Child1", 1),  
    new XElement(aw + "Child2", 2),  
    new XElement(aw + "Child3", 3),  
    new XElement(aw + "Child4", 4),  
    new XElement(aw + "Child5", 5),  
    srcTree.Element(aw + "Element3"),  
    // Even though Element9 does not exist in srcTree, the following line  
    // will not throw an exception.  
    srcTree.Element(aw + "Element9")  
);  
Console.WriteLine(xmlTree);  
Imports <xmlns:aw="http://www.adventure-works.com">  
  
Module Module1  
    Sub Main()  
        Dim srcTree As XElement = _   
            <aw:Root>  
                <aw:Element1>1</aw:Element1>  
                <aw:Element2>2</aw:Element2>  
                <aw:Element3>3</aw:Element3>  
                <aw:Element4>4</aw:Element4>  
                <aw:Element5>5</aw:Element5>  
            </aw:Root>  
  
        Dim xmlTree As XElement = _  
            <aw:Root>  
                <aw:Child1>1</aw:Child1>  
                <aw:Child2>2</aw:Child2>  
                <aw:Child3>3</aw:Child3>  
                <aw:Child4>4</aw:Child4>  
                <aw:Child5>5</aw:Child5>  
                <%= srcTree.<aw:Element3> %>  
                <%= srcTree.<aw:Element9> %>  
            </aw:Root>  
  
        ' Even though Element9 does not exist in srcTree, adding it to the tree  
        ' will not throw an exception.  
  
        Console.WriteLine(xmlTree)  
    End Sub  
End Module  

Ten przykład generuje następujące wyniki:This example produces the following output:

<aw:Root xmlns:aw="http://www.adventure-works.com">  
  <aw:Child1>1</aw:Child1>  
  <aw:Child2>2</aw:Child2>  
  <aw:Child3>3</aw:Child3>  
  <aw:Child4>4</aw:Child4>  
  <aw:Child5>5</aw:Child5>  
  <aw:Element3>3</aw:Element3>  
</aw:Root>  

Uwagi

Zwraca null czy nie ma elementu o określonej nazwie.Returns null if there is no element with the specified name.

Niektóre metody osi zwracają kolekcje elementów lub atrybutów.Some axis methods return collections of elements or attributes. Ta metoda zwraca tylko jeden element.This method returns only a single element.

Ta metoda zwraca null czy nie znaleziono elementu o określonej nazwie.This method returns null if the element with the specified name is not found. Wszystkie metody, które umożliwiają konstruowanie elementów (Konstruktor XElement, Additd.), akceptują null jako prawidłowy argument.All of the methods that allow you to construct elements (the constructor of XElement, Add, and so on) accept null as a valid argument. Pozwala to korzystać z wygodnego idiom: można wywołać tę metodę jako część konstrukcji funkcjonalnej, a element jest dodawany do drzewa XML, które jest konstruowane, jeśli element istnieje w drzewie źródłowym.This allows you to use a convenient idiom: you can call this method as part of functional construction, and the element is added to the XML tree being constructed if and only if the element exists in the source tree. W poniższym przykładzie przedstawiono ten idiom.The following example shows this idiom.

W przeciwieństwie Elementsdo, ta metoda nie jest metodą osi.In contrast to Elements, this method is not an axis method. Nie używa wykonania odroczonego; Po wywołaniu zwraca element.It does not use deferred execution; it simply returns an element when called.

Dotyczy

Zobacz też