Extensions.XPathSelectElement Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выбирает XElement с помощью выражения XPath.
Перегрузки
XPathSelectElement(XNode, String) |
Выбирает XElement с помощью выражения XPath. |
XPathSelectElement(XNode, String, IXmlNamespaceResolver) |
Выбирает XElement с помощью выражения XPath, разрешая префиксы пространства имен с помощью указанного IXmlNamespaceResolver. |
XPathSelectElement(XNode, String)
Выбирает XElement с помощью выражения XPath.
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
Параметры
Возвращаемое значение
XElement или null.
Примеры
В следующем примере создается небольшое XML-дерево и используется 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)
Выбирает XElement с помощью выражения XPath, разрешая префиксы пространства имен с помощью указанного 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
Параметры
- resolver
- IXmlNamespaceResolver
IXmlNamespaceResolver для префиксов пространств имен в выражении XPath.
Возвращаемое значение
XElement или null.
Примеры
В следующем примере создается XML-дерево, содержащее пространство имен. Для считывания XML-документа используется XmlReader. Затем в примере происходит получение 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, содержащих префиксы пространства имен.