XContainer.Element(XName) メソッド

定義

指定した 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

パラメーター

name
XName

照合する対象の XNameThe XName to match.

戻り値

指定した XElement に一致するか、nullXNameA XElement that matches the specified XName, or null.

このメソッドの2つの使用例を次に示します。The following example shows two uses of this method. 1つのケースでは、メソッドは内srcTreeの要素を検索します。In one case, the method finds the element in srcTree. 2番目のケースでは、メソッドはソースツリー内の要素を見つけることができず、 xmlTreeには要素が追加されず、例外はスローされません。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.

Visual Basic の例では、子 XML プロパティが使用されていることに注意してください。Note that the Visual Basic example uses the child XML property. また、 Element 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)  

この例を実行すると、次の出力が生成されます。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>  

次の例は同じですが、この場合は XML が名前空間に含まれています。The following is the same example, but in this case the XML is in a namespace. 詳細については、「 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  

この例を実行すると、次の出力が生成されます。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>  

注釈

指定nullした名前の要素が存在しない場合はを返します。Returns null if there is no element with the specified name.

一部の軸メソッドは、要素または属性のコレクションを返します。Some axis methods return collections of elements or attributes. このメソッドは、1つの要素のみを返します。This method returns only a single element.

指定したnull名前の要素が見つからない場合、このメソッドはを返します。This method returns null if the element with the specified name is not found. 要素の構築を可能にするメソッド (、 XElement Addなどのコンストラクター) はすべて、有効な引数とnullしてを受け入れます。All of the methods that allow you to construct elements (the constructor of XElement, Add, and so on) accept null as a valid argument. これにより、便利な表現形式を使用できます。関数型構築の一部としてこのメソッドを呼び出すことができます。また、要素がソースツリー内に存在する場合にのみ、構築される XML ツリーに要素が追加されます。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. 次の例は、この表現表現を示しています。The following example shows this idiom.

とは対照的Elementsに、このメソッドは軸メソッドではありません。In contrast to Elements, this method is not an axis method. 遅延実行は使用しません。このメソッドは、呼び出されたときに単に要素を返します。It does not use deferred execution; it simply returns an element when called.

適用対象

こちらもご覧ください