Extensions.XPathSelectElement メソッド

定義

XPath 式を使用して XElement を選択します。

オーバーロード

XPathSelectElement(XNode, String)

XPath 式を使用して XElement を選択します。

XPathSelectElement(XNode, String, IXmlNamespaceResolver)

XPath 式を使用して XElement を選択します。このとき、指定された IXmlNamespaceResolver を使用して名前空間プレフィックスを解決します。

XPathSelectElement(XNode, String)

XPath 式を使用して XElement を選択します。

public:
[System::Runtime::CompilerServices::Extension]
 static System::Xml::Linq::XElement ^ XPathSelectElement(System::Xml::Linq::XNode ^ node, System::String ^ expression);
public static System.Xml.Linq.XElement? XPathSelectElement (this System.Xml.Linq.XNode node, string expression);
public static System.Xml.Linq.XElement XPathSelectElement (this System.Xml.Linq.XNode node, string expression);
static member XPathSelectElement : System.Xml.Linq.XNode * string -> System.Xml.Linq.XElement
<Extension()>
Public Function XPathSelectElement (node As XNode, expression As String) As XElement

パラメーター

node
XNode

XPath 式の評価対象となる XNode

expression
String

XPath 式を含む String

戻り値

XElement

XElement、または null。

次の例では、小さな XML ツリーを作成し、1 つの要素を選択するために使用 XPathSelectElement します。

                XElement root = new XElement("Root",  
    new XElement("Child1", 1),  
    new XElement("Child2", 2),  
    new XElement("Child3", 3),  
    new XElement("Child4", 4),  
    new XElement("Child5", 5),  
    new XElement("Child6", 6)  
);  
XElement el = root.XPathSelectElement("./Child4");  
Console.WriteLine(el);  
                Dim root As XElement = _  
    <Root>  
        <Child1>1</Child1>  
        <Child2>2</Child2>  
        <Child3>3</Child3>  
        <Child4>4</Child4>  
        <Child5>5</Child5>  
        <Child6>6</Child6>  
    </Root>  
Dim el As XElement = root.XPathSelectElement("./Child4")  
Console.WriteLine(el)  

この例を実行すると、次の出力が生成されます。

<Child4>4</Child4>  

適用対象

XPathSelectElement(XNode, String, IXmlNamespaceResolver)

XPath 式を使用して XElement を選択します。このとき、指定された IXmlNamespaceResolver を使用して名前空間プレフィックスを解決します。

public:
[System::Runtime::CompilerServices::Extension]
 static System::Xml::Linq::XElement ^ XPathSelectElement(System::Xml::Linq::XNode ^ node, System::String ^ expression, System::Xml::IXmlNamespaceResolver ^ resolver);
public static System.Xml.Linq.XElement? XPathSelectElement (this System.Xml.Linq.XNode node, string expression, System.Xml.IXmlNamespaceResolver? resolver);
public static System.Xml.Linq.XElement XPathSelectElement (this System.Xml.Linq.XNode node, string expression, System.Xml.IXmlNamespaceResolver resolver);
static member XPathSelectElement : System.Xml.Linq.XNode * string * System.Xml.IXmlNamespaceResolver -> System.Xml.Linq.XElement
<Extension()>
Public Function XPathSelectElement (node As XNode, expression As String, resolver As IXmlNamespaceResolver) As XElement

パラメーター

node
XNode

XPath 式の評価対象となる XNode

expression
String

XPath 式を含む String

resolver
IXmlNamespaceResolver

XPath 式の名前空間プレフィックスの解決に使用する IXmlNamespaceResolver

戻り値

XElement

XElement、または null。

次の例では、名前空間を含む XML ツリーを作成します。 XmlReader を使用して XML ドキュメントを読み込ます。 次に、XmlNameTable から XmlReader を取得し、XmlNamespaceManager から XmlNameTable を取得します。 要素を XmlNamespaceManager 選択するときに使用されます。

                string markup = @"  
<aw:Root xmlns:aw='http://www.adventure-works.com'>  
    <aw:Child1>child one data</aw:Child1>  
    <aw:Child2>child two data</aw:Child2>  
</aw:Root>";  
XmlReader reader = XmlReader.Create(new StringReader(markup));  
XElement root = XElement.Load(reader);  
XmlNameTable nameTable = reader.NameTable;  
XmlNamespaceManager namespaceManager = new XmlNamespaceManager(nameTable);  
namespaceManager.AddNamespace("aw", "http://www.adventure-works.com");  
XElement child1 = root.XPathSelectElement("./aw:Child1", namespaceManager);  
Console.WriteLine(child1);  
                Dim markup As XElement = _  
    <aw:Root xmlns:aw='http://www.adventure-works.com'>  
        <aw:Child1>child one data</aw:Child1>  
        <aw:Child2>child two data</aw:Child2>  
    </aw:Root>  
Dim reader As XmlReader = markup.CreateReader  
Dim nameTable As XmlNameTable = reader.NameTable  
Dim namespaceManager As XmlNamespaceManager = New XmlNamespaceManager(nameTable)  
namespaceManager.AddNamespace("aw", "http://www.adventure-works.com")  
Dim child1 As XElement = markup.XPathSelectElement("./aw:Child1", namespaceManager)  
Console.WriteLine(child1)  

この例を実行すると、次の出力が生成されます。

<aw:Child1 xmlns:aw="http://www.adventure-works.com">child one data</aw:Child1>  

注釈

このメソッドを使用して、名前空間プレフィックスを含む XPath 式を評価できます。

適用対象