Extensions.XPathSelectElements Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Seleziona una raccolta di elementi utilizzando un'espressione XPath.
Overload
XPathSelectElements(XNode, String) |
Seleziona una raccolta di elementi utilizzando un'espressione XPath. |
XPathSelectElements(XNode, String, IXmlNamespaceResolver) |
Viene selezionata una raccolta di elementi utilizzando un'espressione XPath e risolvendo i prefissi degli spazi dei nomi tramite l'oggetto IXmlNamespaceResolver specificato. |
Commenti
Anche se l'ordinamento delle raccolte restituite non è specificato nella raccomandazione XML XPath Language 1.0, questo metodo di estensione restituisce i nodi nell'ordine dei documenti.
Si noti che i nodi vengono restituiti nell'ordine dei documenti anche quando si usa un asse inverso, ad esempio preceding-sibling
o ancestor-or-self
.
XPathSelectElements(XNode, String)
- Origine:
- XNodeNavigator.cs
- Origine:
- XNodeNavigator.cs
- Origine:
- XNodeNavigator.cs
Seleziona una raccolta di elementi utilizzando un'espressione XPath.
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)
Parametri
Restituisce
IEnumerable<T> di XElement contenente gli elementi selezionati.
Esempio
Nell'esempio seguente viene creata un piccolo albero XML e viene usato XPathSelectElements per selezionare un set di elementi.
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
Nell'esempio viene prodotto l'output seguente:
<Child2>4</Child2>
<Child2>5</Child2>
<Child2>6</Child2>
Commenti
Anche se l'ordinamento delle raccolte restituite non è specificato nella raccomandazione XML XPath Language 1.0, questo metodo di estensione restituisce i nodi nell'ordine dei documenti.
Si noti che i nodi vengono restituiti nell'ordine dei documenti anche quando si usa un asse inverso, ad esempio preceding-sibling
o ancestor-or-self
.
Si applica a
XPathSelectElements(XNode, String, IXmlNamespaceResolver)
- Origine:
- XNodeNavigator.cs
- Origine:
- XNodeNavigator.cs
- Origine:
- XNodeNavigator.cs
Viene selezionata una raccolta di elementi utilizzando un'espressione XPath e risolvendo i prefissi degli spazi dei nomi tramite l'oggetto IXmlNamespaceResolver specificato.
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)
Parametri
- resolver
- IXmlNamespaceResolver
IXmlNamespaceResolver per i prefissi degli spazi dei nomi nell'espressione XPath.
Restituisce
IEnumerable<T> di XElement contenente gli elementi selezionati.
Esempio
In questo esempio viene creato un albero XML contenente uno spazio dei nomi. Per leggere il documento XML viene usato XmlReader. Quindi si ottiene XmlNameTable da XmlReader e XmlNamespaceManager da XmlNameTable. Usa quando XmlNamespaceManager si seleziona l'elenco di elementi.
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
Nell'esempio viene prodotto l'output seguente:
<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>
Commenti
È possibile utilizzare questo metodo per valutare le espressioni XPath contenenti prefissi dello spazio dei nomi.
Anche se l'ordinamento delle raccolte restituite non è specificato nella raccomandazione XML XPath Language 1.0, questo metodo di estensione restituisce i nodi nell'ordine dei documenti.
Si noti che i nodi vengono restituiti nell'ordine dei documenti anche quando si usa un asse inverso, ad esempio preceding-sibling
o ancestor-or-self
.