---
title: "Hämta element m.h.a. XPath och Regex"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/182891-hämta-element-m-h-a-xpath-och-regex"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "dAEk"
published: "2010-03-21T12:08:01.000Z"
updated: "2010-03-21T14:37:14.000Z"
replies: 1
views: 458
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/182891-hämta-element-m-h-a-xpath-och-regex"
---

# Hämta element m.h.a. XPath och Regex

## #1 — dAEk, 2010-03-21T12:08Z

Halloj

Jag har ett dokument som jag försöker hämta ut noder från m.h.a. HtmlAgilityPack och XPath.
Först navigerar jag mig ned till en container som jag vet innehåller noderna som jag är intresserad av. Efter det blir det lite bökigare. Containern innehåller länkar som ser ut såhär:

```
<a href="/mapp/undermapp/sida.html?a=foo&b=bar&c=&d=slask">text...</a> 
<a href="/mapp/undermapp/sida.html?a=foo&b=bar&c=baz&d=slask">text...</a> 
<a href="/mapp/undermapp/sida.html?a=foo&b=bar&c=123&d=slask">text...</a>
```

M.h.a. XPath och Regex tänkte jag mig att det skulle gå att hämta ut länkarna där parametern c har ett numeriskt värde men det går sådär... Jag får följande XPathException som inte säger mig så mycket:

> Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined function.

Kodsnutten där det smäller:

```
string pattern = @"/mapp/undermapp/sida.html?a=foo&b=bar&c=(\d+)&d=slask";
HtmlNodeCollection items = container.SelectNodes("//a[matches(@href, '" + pattern + "')]");
```

Har kollat lite på HtmlAgilityPack och man verkar kunna navigera i dokumentet utan någon XPath. Det är säkert trevligt och blir nog min reservplan om jag inte får till det här uttrycket.

Hilfe!

Permalänk: https://www.webforum.nu/p/182891

## #2 — dAEk, 2010-03-21T14:37Z

Det funkar inte eftersom matches-funktionen inte är implementerad i .NETs XPath-API. <http://msdn.microsoft.com/en-us/library/ms256180.aspx>

Löste problemet med Linq istället.

Permalänk: https://www.webforum.nu/p/2231424

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/182891-hämta-element-m-h-a-xpath-och-regex
