Extensions.XPathSelectElements Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Väljer en samling element med ett XPath-uttryck.
Överlagringar
| Name | Description |
|---|---|
| XPathSelectElements(XNode, String) |
Väljer en samling element med ett XPath-uttryck. |
| XPathSelectElements(XNode, String, IXmlNamespaceResolver) |
Väljer en samling element med ett XPath-uttryck som matchar namnområdesprefix med hjälp av den angivna IXmlNamespaceResolver. |
Kommentarer
Även om ordningen på returnerade samlingar inte anges i XML XPath Language 1.0-rekommendationen returnerar den här tilläggsmetoden noder i dokumentordning.
Observera att noder returneras i dokumentordning även när du använder en omvänd axel, till exempel preceding-sibling eller ancestor-or-self.
XPathSelectElements(XNode, String)
- Källa:
- XNodeNavigator.cs
- Källa:
- XNodeNavigator.cs
- Källa:
- XNodeNavigator.cs
- Källa:
- XNodeNavigator.cs
- Källa:
- XNodeNavigator.cs
Väljer en samling element med ett XPath-uttryck.
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)
Parametrar
Returer
En IEnumerable<T> av XElement dessa innehåller de markerade elementen.
Exempel
I följande exempel skapas ett litet XML-träd och används XPathSelectElements för att välja en uppsättning element.
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
Det här exemplet genererar följande utdata:
<Child2>4</Child2>
<Child2>5</Child2>
<Child2>6</Child2>
Kommentarer
Även om ordningen på returnerade samlingar inte anges i XML XPath Language 1.0-rekommendationen returnerar den här tilläggsmetoden noder i dokumentordning.
Observera att noder returneras i dokumentordning även när du använder en omvänd axel, till exempel preceding-sibling eller ancestor-or-self.
Gäller för
XPathSelectElements(XNode, String, IXmlNamespaceResolver)
- Källa:
- XNodeNavigator.cs
- Källa:
- XNodeNavigator.cs
- Källa:
- XNodeNavigator.cs
- Källa:
- XNodeNavigator.cs
- Källa:
- XNodeNavigator.cs
Väljer en samling element med ett XPath-uttryck som matchar namnområdesprefix med hjälp av den angivna IXmlNamespaceResolver.
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)
Parametrar
- resolver
- IXmlNamespaceResolver
A IXmlNamespaceResolver för namnområdesprefixen i XPath-uttrycket.
Returer
En IEnumerable<T> av XElement dessa innehåller de markerade elementen.
Exempel
I det här exemplet skapas ett XML-träd som innehåller ett namnområde. Den använder en XmlReader för att läsa XML-dokumentet. Den får sedan en XmlNameTable från XmlReader, och en XmlNamespaceManager från XmlNameTable. Den använder XmlNamespaceManager när du väljer listan över element.
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
Det här exemplet genererar följande utdata:
<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>
Kommentarer
Du kan använda den här metoden för att utvärdera XPath-uttryck som innehåller namnområdesprefix.
Även om ordningen på returnerade samlingar inte anges i XML XPath Language 1.0-rekommendationen returnerar den här tilläggsmetoden noder i dokumentordning.
Observera att noder returneras i dokumentordning även när du använder en omvänd axel, till exempel preceding-sibling eller ancestor-or-self.