Extensions.XPathSelectElements Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
XPath ifadesi kullanarak bir öğe koleksiyonu seçer.
Aşırı Yüklemeler
XPathSelectElements(XNode, String) |
XPath ifadesi kullanarak bir öğe koleksiyonu seçer. |
XPathSelectElements(XNode, String, IXmlNamespaceResolver) |
Belirtilen kullanılarak ad alanı ön eklerini çözümleyerek XPath ifadesi kullanan IXmlNamespaceResolverbir öğe koleksiyonunu seçer. |
Açıklamalar
Döndürülen koleksiyonların sıralaması XML XPath Dil 1.0 Önerisi'nde belirtilmemiş olsa da, bu uzantı yöntemi düğümleri belge sırasına göre döndürür.
veya ancestor-or-self
gibi preceding-sibling
bir ters eksen kullandığınızda bile düğümlerin belge sırasında döndürüldüğünü unutmayın.
XPathSelectElements(XNode, String)
XPath ifadesi kullanarak bir öğe koleksiyonu seçer.
public:
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ XPathSelectElements(System::Xml::Linq::XNode ^ node, System::String ^ expression);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> XPathSelectElements (this System.Xml.Linq.XNode node, string expression);
static member XPathSelectElements : System.Xml.Linq.XNode * string -> seq<System.Xml.Linq.XElement>
<Extension()>
Public Function XPathSelectElements (node As XNode, expression As String) As IEnumerable(Of XElement)
Parametreler
Döndürülenler
IEnumerable<T> XElement Seçili öğeleri içeren bir öğesi.
Örnekler
Aşağıdaki örnek küçük bir XML ağacı oluşturur ve bir öğe kümesi seçmek için kullanır XPathSelectElements .
XElement root = new XElement("Root",
new XElement("Child1", 1),
new XElement("Child1", 2),
new XElement("Child1", 3),
new XElement("Child2", 4),
new XElement("Child2", 5),
new XElement("Child2", 6)
);
IEnumerable<XElement> list = root.XPathSelectElements("./Child2");
foreach (XElement el in list)
Console.WriteLine(el);
Dim root As XElement = _
<Root>
<Child1>1</Child1>
<Child1>2</Child1>
<Child1>3</Child1>
<Child2>4</Child2>
<Child2>5</Child2>
<Child2>6</Child2>
</Root>
Dim list As IEnumerable(Of XElement) = root.XPathSelectElements("./Child2")
For Each el As XElement In list
Console.WriteLine(el)
Next
Bu örnek aşağıdaki çıkışı oluşturur:
<Child2>4</Child2>
<Child2>5</Child2>
<Child2>6</Child2>
Açıklamalar
Döndürülen koleksiyonların sıralaması XML XPath Dil 1.0 Önerisi'nde belirtilmemiş olsa da, bu uzantı yöntemi düğümleri belge sırasına göre döndürür.
veya ancestor-or-self
gibi preceding-sibling
bir ters eksen kullandığınızda bile düğümlerin belge sırasında döndürüldüğünü unutmayın.
Şunlara uygulanır
XPathSelectElements(XNode, String, IXmlNamespaceResolver)
Belirtilen kullanılarak ad alanı ön eklerini çözümleyerek XPath ifadesi kullanan IXmlNamespaceResolverbir öğe koleksiyonunu seçer.
public:
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ XPathSelectElements(System::Xml::Linq::XNode ^ node, System::String ^ expression, System::Xml::IXmlNamespaceResolver ^ resolver);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> XPathSelectElements (this System.Xml.Linq.XNode node, string expression, System.Xml.IXmlNamespaceResolver? resolver);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> XPathSelectElements (this System.Xml.Linq.XNode node, string expression, System.Xml.IXmlNamespaceResolver resolver);
static member XPathSelectElements : System.Xml.Linq.XNode * string * System.Xml.IXmlNamespaceResolver -> seq<System.Xml.Linq.XElement>
<Extension()>
Public Function XPathSelectElements (node As XNode, expression As String, resolver As IXmlNamespaceResolver) As IEnumerable(Of XElement)
Parametreler
- resolver
- IXmlNamespaceResolver
XPath ifadesindeki ad alanı ön ekleri için A IXmlNamespaceResolver .
Döndürülenler
IEnumerable<T> XElement Seçili öğeleri içeren bir öğesi.
Örnekler
Bu örnek, ad alanı içeren bir XML ağacı oluşturur. XML belgesini okumak için bir XmlReader kullanır. Ardından , ve 'den XmlReaderXmlNameTablebir XmlNamespaceManager alırXmlNameTable. Öğe listesini seçerken öğesini XmlNamespaceManager kullanır.
string markup = @"
<aw:Root xmlns:aw='http://www.adventure-works.com'>
<aw:Child1>child one data 1</aw:Child1>
<aw:Child1>child one data 2</aw:Child1>
<aw:Child1>child one data 3</aw:Child1>
<aw:Child2>child two data 4</aw:Child2>
<aw:Child2>child two data 5</aw:Child2>
<aw:Child2>child two data 6</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");
IEnumerable<XElement> elements = root.XPathSelectElements("./aw:Child1", namespaceManager);
foreach (XElement el in elements)
Console.WriteLine(el);
Dim markup As XElement = _
<aw:Root xmlns:aw="http://www.adventure-works.com">
<aw:Child1>child one data 1</aw:Child1>
<aw:Child1>child one data 2</aw:Child1>
<aw:Child1>child one data 3</aw:Child1>
<aw:Child2>child two data 4</aw:Child2>
<aw:Child2>child two data 5</aw:Child2>
<aw:Child2>child two data 6</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 elements As IEnumerable(Of XElement) = markup.XPathSelectElements("./aw:Child1", namespaceManager)
For Each el As XElement In elements
Console.WriteLine(el)
Next
Bu örnek aşağıdaki çıkışı oluşturur:
<aw:Child1 xmlns:aw="http://www.adventure-works.com">child one data 1</aw:Child1>
<aw:Child1 xmlns:aw="http://www.adventure-works.com">child one data 2</aw:Child1>
<aw:Child1 xmlns:aw="http://www.adventure-works.com">child one data 3</aw:Child1>
Açıklamalar
Ad alanı ön ekleri içeren XPath ifadelerini değerlendirmek için bu yöntemi kullanabilirsiniz.
Döndürülen koleksiyonların sıralaması XML XPath Dil 1.0 Önerisi'nde belirtilmemiş olsa da, bu uzantı yöntemi düğümleri belge sırasına göre döndürür.
veya ancestor-or-self
gibi preceding-sibling
bir ters eksen kullandığınızda bile düğümlerin belge sırasında döndürüldüğünü unutmayın.