[C#.NET] Url parsen (subdomein, domeinnaam etc)

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 21:52
Ik ben nu in C#.NET bezig met een applicatie en ik moet daarvoor alle subdomeinen van een URL weghalen. Het Uri object gebruik ik al en als ik dan de Host property aanroep krijg ik een url terug mét subdomein.

Bijvoorbeeld de url "http://shop.www.hi.nl/". Via het Uri object krijg ik al (netjes) "shop.www.hi.nl" terug.
Wat ik uiteindelijk wil hebben is "hi.nl".

Nu weet ik dat dit een hele klus is en (C#).NET er standaard geen oplossing voor heeft. Je zit namelijk met een X aantal subdomeinen en ook de TLD's zijn variabel (denk aan .nl, .com, .info, .co.uk en .com.au).

Waarschijnlijk zal dit dus met een reguliere expressie moeten gebeuren. Heb op Google en hier op het forum al lopen zoeken, maar hetgeen ik vind houdt eigenlijk geen rekening met bovenstaande dingen (dus meerdere subdomeinen en de verschillende TLD's).

Ik ben redelijk bekend / handig met reguliere expressie's, maar ik zie even niet hoe ik deze op kan lossen.

Kan iemand mij misschien het duwtje in de juiste richting geven? Een website met daarop de manier hoe dit op te lossen is mag natuurlijk ook :p


Edit: misschien de string splitten op "." en dan iets met de indexes en aantallen ofzo?

[ Voor 4% gewijzigd door aaajeetee op 29-01-2009 19:10 ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-09 16:37

.oisyn

Moderator Devschuur®

Demotivational Speaker

Waarom in hemelsnaam weer regexen? Zoek gewoon naar de laatste punt. Alles daarachter is het TLD. Zoek dan terug naar de punt ervoor. Alles daarachter is de SLD.

Overigens ben ik wel benieuwd wat jij onder "domeinnaam" verstaat. "nl" is ook een domeinnaam, en bij "voorbeeld.nl" is "voorbeeld" een subdomein van "nl". Nou snap ik ook wel dat je in het geval van "www.amazon.co.uk" niet geïnteresseerd bent in "co.uk", maar in "amazon.co.uk". De vraag is echter, wat zijn je criteria? Je kunt natuurlijk wel een database bij gaan houden welke landen allemaal dat soort schemes gebruiken, maar wat als wij in NL nou ineens provincie-SLD's gaan toepassen? Dus henk.zh.nl voor die specifieke Henk in Zuid Holland. Kan compleet ongerelateerd zijn aan piet.zh.nl, toch zal jij bepalen dat "zh.nl" blijkbaar het domein is

[ Voor 46% gewijzigd door .oisyn op 29-01-2009 19:22 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 21:52
.oisyn schreef op donderdag 29 januari 2009 @ 19:17:
Waarom in hemelsnaam weer regexen? Zoek gewoon naar de laatste punt. Alles daarachter is het TLD. Zoek dan terug naar de punt ervoor. Alles daarachter is de SLD.

Overigens ben ik wel benieuwd wat jij onder "domeinnaam" verstaat. "nl" is ook een domeinnaam, en bij voorbeeld.nl is voorbeeld een subdomein van nl.
Ik wil dus de SLD en de TLD als ik het goed zeg. In mijn voorbeeld dus "hi.nl" en bij deze: "http://here.was.mysite.co.uk" wil ik "mysite.co.uk" terug.

Jouw manier gaat dus dan niet op. Alles achter de laatste punt is "uk". Alles achter de punt ervoor is "co". Dan zou ik enkel "co.uk" terugkrijgen. Dat is niet wat ik wil.

Acties:
  • 0 Henk 'm!

  • Vincenz0
  • Registratie: Augustus 2006
  • Laatst online: 12-09 09:48

Vincenz0

Coder

Dan maak je toch uitzonderingen in je algoritme voor dit soort domeinen? aangezien er maar een paar uitzonderingen zijn op de regel.

voor de complete lijst aan top-level domains:
Wikipedia: List of Internet top-level domains

[ Voor 27% gewijzigd door Vincenz0 op 29-01-2009 19:23 ]

Coding 4 Fun!


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-09 16:37

.oisyn

Moderator Devschuur®

Demotivational Speaker

aaajeetee schreef op donderdag 29 januari 2009 @ 19:20:
[...]


Ik wil dus de SLD en de TLD als ik het goed zeg. In mijn voorbeeld dus "hi.nl" en bij deze: "http://here.was.mysite.co.uk" wil ik "mysite.co.uk" terug.

Jouw manier gaat dus dan niet op. Alles achter de laatste punt is "uk". Alles achter de punt ervoor is "co". Dan zou ik enkel "co.uk" terugkrijgen. Dat is niet wat ik wil.
Zie mijn edit in m'n vorige post. Mijn punt is dat er geen enkele reden is om aan te nemen dat co.uk een van de weinige uitzonderingen is. Misschien maakt iemand een a.b.c.d.com, waar mensen domeinen kunnen registreren. En wist je bijvoorbeeld dat ze in de UK meerdere typen aan SLD's hebben, zoals bijvoorbeeld ac.uk die speciaal voor academische doeleinden is bedoeld?

[ Voor 14% gewijzigd door .oisyn op 29-01-2009 19:30 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-09 16:37

.oisyn

Moderator Devschuur®

Demotivational Speaker

Heb je niets aan, daartussen staat niet dat ze in UK ccSLD's gebruiken. Bovendien verandert die lijst nogal eens, als er weer eens wat landen opslitsen/samengaan, of als iemand genoeg geld betaalt voor z'n eigen TLD wat tegenwoordig ook kan.

[ Voor 19% gewijzigd door .oisyn op 29-01-2009 19:34 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 21:52
Ik doorzoek een XML bestand met daarin dus "mysite.co.uk".

Aangezien ik niet de hele XML wil inlezen alle nodes van de XML wil doorlopen (niet efficient), moet ik dus de niet benodigde zooi er vanaf zien te strippen (mijns inziens).

Ik zou inderdaad een array kunnen maken met die uitzonderingen.
.oisyn schreef op donderdag 29 januari 2009 @ 19:24:
[...]
En wist je bijvoorbeeld dat ze in de UK meerdere typen aan SLD's hebben, zoals bijvoorbeeld ac.uk die speciaal voor academische doeleinden is bedoeld?
En daarom wou ik ook gaan regexen, om niet alle uitzonderingen bij te gaan houden. Alleen blijkt dat er niet 1-2-3 een regex te bedenken is die hieraan voldoet.

[ Voor 48% gewijzigd door aaajeetee op 29-01-2009 19:37 ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-09 16:37

.oisyn

Moderator Devschuur®

Demotivational Speaker

Zelfs als je een regex maakt moet je alsnog alle uitzonderingen bijhouden. Alleen dan staan de uitzonderingen gecodeerd in de regex, ipv in een maintainable array. Maar mijn hele punt is dat het niet is bij te houden. Hell, ik zou niet eens weten hoe je aan die lijst komt. Het onderscheid dat jij wilt maken is iets dat alleen in jouw hoofd leeft - het is iig niet af te leiden adhv hoe het internet in elkaar zit. Misschien registreert straks iemand de TLD piet en zet ie daar direct zijn website neer. Er bestaat gewoon geen enkele methode om te bepalen welk domeinlevel in handen is van een (gereguleerde) registrar.

Overigens snap ik ook nog steeds niet je doel.
k doorzoek een XML bestand met daarin dus "mysite.co.uk".
Dan zoek je toch naar "mysite.co.uk"? Waarom moet je daarvoor weten dat co.uk een ccSLD is?

[ Voor 27% gewijzigd door .oisyn op 29-01-2009 19:45 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 21:52
.oisyn schreef op donderdag 29 januari 2009 @ 19:41:
Dan zoek je toch naar "mysite.co.uk"? Waarom moet je daarvoor weten dat co.uk een ccSLD is?
Ik heb een XML bestand met allemaal van dat soort entries. Ik wil een node / entry matchen aan de hand van de opgegeven url. In de XML staat "mysite.co.uk" en mijn url is "here.was.mysite.co.uk".

Het zoeken etc. gebeurd via een standaard .NET methode en ik wil niet elke XML node doorlussen om elke node te matchen met mijn url.

Ik geef dus nu mijn URL mee in de zoekfunctie en die zoekt zelf de bijpassende node (DataView.Find).
Natuurlijk kan ik elke XML node uitlezen in een lus en dan de node-value matchen met de URL. Het punt is dat ik dit minder efficient acht.

Dus redeneerde ik dat ik van "here.was.mysite.co.uk" het stuk "here.was" van af moest strippen om een match te kunnen vinden.

Nu blijkt dat dit niet erg makkelijk (onmogelijk?) te doen is, dus ik denk dat er niets anders opzit dan elke XML node uit te lezen.


Ik zal wel weer te moeilijk denken hoor :D

Acties:
  • 0 Henk 'm!

  • Vincenz0
  • Registratie: Augustus 2006
  • Laatst online: 12-09 09:48

Vincenz0

Coder

Waarom gooi je die xml niet in een datatable om daarop vervolgens te zoeken/filteren aan de hand van je input van de gebruiker.

Om het makkelijk te maken kan je xml inlezen in een DataSet via de ReadXML functie die dan vanzelf een datatable opbouwt aan de hand van je xml:

C#:
1
2
3
4
5
6
7
8
9
10
11
public void DatasetFromXML(String pvXML)
{
  var DataSetOnzin = new DataSet();
  TextReader _TextReader = new StringReader(pvXML);
  DataSetOnzin.ReadXml(_TextReader);

  DataGridOnzin.DataSource = DataSetOnzin;
  DataGridOnzin.DataMember = /*Main xml tag dus naam van je datatable*/;
  DataGridOnzin.Refresh();
  DataGridOnzin.Sort(ID, ListSortDirection.Ascending);
}


een datatable is een stuk efficienter dan door een xml loopen.

[ Voor 20% gewijzigd door Vincenz0 op 29-01-2009 22:51 ]

Coding 4 Fun!


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-09 16:37

.oisyn

Moderator Devschuur®

Demotivational Speaker

Je zou evt meerdere searches kunnen doen, waarbij je steeds de opgegeven url een subdomein korter maakt, totdat je iets vindt. Dus als "here.was.mysite.co.uk" is opgegeven, dan zoek je eerst op "here.was.mysite.co.uk", dan op "was.mysite.co.uk", dan "mysite.co.uk", etc..

Ik heb zelf niet zoveel ervaring met .Net en de DataView class en dus hoe het zoeken precies gaat, maar als ook mysite.co.uk er niet in staat maar bijv. amazon.co.uk wel, en die wordt gevonden als je vervolgens op "co.uk" gaat zoeken, dan moet je nog even controleren of de volledige URL in je XML wel volledig matcht met je zoekstring.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 21:52
Vincenz0 schreef op donderdag 29 januari 2009 @ 22:40:
Waarom gooi je die xml niet in een datatable om daarop vervolgens te zoeken/filteren aan de hand van je input van de gebruiker.

Om het makkelijk te maken kan je xml inlezen in een DataSet via de ReadXML functie die dan vanzelf een datatable opbouwt aan de hand van je xml:

C#:
1
2
3
4
5
6
7
8
9
10
11
public void DatasetFromXML(String pvXML)
{
  var DataSetOnzin = new DataSet();
  TextReader _TextReader = new StringReader(pvXML);
  DataSetOnzin.ReadXml(_TextReader);

  DataGridOnzin.DataSource = DataSetOnzin;
  DataGridOnzin.DataMember = /*Main xml tag dus naam van je datatable*/;
  DataGridOnzin.Refresh();
  DataGridOnzin.Sort(ID, ListSortDirection.Ascending);
}


een datatable is een stuk efficienter dan door een xml loopen.
Ik gebruik al DataTables, DataViews en DataSets. DataGrid gebruik ik nog niet, maar het punt is dat de invoer van de gebruiker dus meer tekens bevat dan de string in de XML. Dus de XML bevat "mysite.co.uk" en de invoer is "here.was.mysite.co.uk".
Kan een DataGrid hier goed mee omgaan?
.oisyn schreef op donderdag 29 januari 2009 @ 22:44:
Je zou evt meerdere searches kunnen doen, waarbij je steeds de opgegeven url een subdomein korter maakt, totdat je iets vindt. Dus als "here.was.mysite.co.uk" is opgegeven, dan zoek je eerst op "here.was.mysite.co.uk", dan op "was.mysite.co.uk", dan "mysite.co.uk", etc..

Ik heb zelf niet zoveel ervaring met .Net en de DataView class en dus hoe het zoeken precies gaat, maar als ook mysite.co.uk er niet in staat maar bijv. amazon.co.uk wel, en die wordt gevonden als je vervolgens op "co.uk" gaat zoeken, dan moet je nog even controleren of de volledige URL in je XML wel volledig matcht met je zoekstring.
Dat is op zich ook nog een goed idee, alleen ik vraag me af wat dan efficienter is: op bovenstaande manier de XML 3x door moeten zoeken of in 1x de XML doorlopen (en dan dus de waardes uit de XML matchen met de invoer van de gebruiker).

Ik ga hier eens over nadenken en er een klein testje van maken om te zien wat sneller / efficienter is.

Acties:
  • 0 Henk 'm!

  • Phyxion
  • Registratie: April 2004
  • Niet online

Phyxion

_/-\o_

Of je gebruikt de site who.is met je input URL, en filtert de domainname er uit.

'You like a gay cowboy and you look like a gay terrorist.' - James May


Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Inverse search? user_input.EndsWith(xmlstring)

(ofwel WHERE @input LIKE ('%' + @xml) ) (dit kan je ook met XPath doen met string-length en substring)

[ Voor 83% gewijzigd door Zoijar op 30-01-2009 09:39 ]


Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 21:52
Zoijar schreef op vrijdag 30 januari 2009 @ 09:27:
Inverse search? user_input.EndsWith(xmlstring)
Dat bedoel ik dus met de XML doorlopen.

Ik denk overigens dat ik ga voor het substringen. De kans is klein dat er url's binnenkomen à la "here.was.mysite.co.uk". Ik begin dus dan gewoon van voren te strippen.
De meeste websites zijn namelijk gewoon [xxx].site.com, waardoor dit toch nog efficienter is dan de XML doorlopen (inverse searching dus).

Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

aaajeetee schreef op vrijdag 30 januari 2009 @ 09:31:
De meeste websites zijn namelijk gewoon [xxx].site.com, waardoor dit toch nog efficienter is dan de XML doorlopen (inverse searching dus).
Hoe groot is die XML file dan? (als het bv 100.000 records zijn lijkt het me geen enkel probleem; vooral als ik me bedenk wat je allemaal met 2 miljoen pixels kan doen in real-time ;) Zeker als je het in SQL server opslaat en indexeert voor een like search. Dan geeft hij volgens mij voor 10 miljoen records nog vrijwel meteen het antwoord, aangezien het merendeel van de zoekboom al op de eerste twee letters gepurged wordt)

[ Voor 42% gewijzigd door Zoijar op 30-01-2009 09:56 ]


Acties:
  • 0 Henk 'm!

  • Phyxion
  • Registratie: April 2004
  • Niet online

Phyxion

_/-\o_

100k moet op beetje redelijke PC zo te doorlopen zijn. Je kan ook via een datatable LIKE gebruiken.

'You like a gay cowboy and you look like a gay terrorist.' - James May


Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 21:52
Ik ben nu bezig met de Select functie op de DataTable: "url LIKE 'here.was.mysite.co.uk'".
Probleem is de wildcard, die moet voor de url staan.

Als ik er *url of %url van maak, zegt ie dat ie een operand mist (wordt dan gezien als vermenigvuldigen en modulo).

Heb al lopen Googlen, maar ik vind alleen voorbeelden met wildcars bij de waarde ('%henk'). Ook heb ik de escape-mogelijkheden gezien door middel van "[" en "]", maar dit heeft ook weinig effect (behalve nieuwe exceptions).

Weet iemand hoe ik de wildcard bij de kolom krijg? Dom.


Ik kreeg net van iemand anders de tip om het met IN te doen. Dit zou goed kunnen werken, de user input splitten op "." en alle element komen dan bij de IN:
url IN ('here.was.mysite.co.uk', 'was.mysite.co.uk', 'mysite.co.uk', 'co.uk')

Dit is dus eigenlijk een combinatie van een aantal oplossingen, bedankt! _/-\o_

[ Voor 23% gewijzigd door aaajeetee op 30-01-2009 10:50 ]


Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

aaajeetee schreef op vrijdag 30 januari 2009 @ 10:26:
Ik ben nu bezig met de Select functie op de DataTable: "url LIKE 'here.was.mysite.co.uk'".
Probleem is de wildcard, die moet voor de url staan.

Als ik er *url of %url van maak, zegt ie dat ie een operand mist (wordt dan gezien als vermenigvuldigen en modulo).

Heb al lopen Googlen, maar ik vind alleen voorbeelden met wildcars bij de waarde ('%henk'). Ook heb ik de escape-mogelijkheden gezien door middel van "[" en "]", maar dit heeft ook weinig effect (behalve nieuwe exceptions).

Weet iemand hoe ik de wildcard bij de kolom krijg? Dom.


Ik kreeg net van iemand anders de tip om het met IN te doen. Dit zou goed kunnen werken, de user input splitten op "." en alle element komen dan bij de IN:
url IN ('here.was.mysite.co.uk', 'was.mysite.co.uk', 'mysite.co.uk', 'co.uk')

Dit is dus eigenlijk een combinatie van een aantal oplossingen, bedankt! _/-\o_
Die postte ik net al ;) WHERE @input LIKE ('%' + @xml), de % als character met aanhalingstekens '%' en een string concatenatie met je operand + @xml. Ik denk dat die LIKE search sneller is; met de IN moet hij elk record met 4 strings vergelijken.

Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 21:52
Zoijar schreef op vrijdag 30 januari 2009 @ 12:28:
[...]

Die postte ik net al ;) WHERE @input LIKE ('%' + @xml), de % als character met aanhalingstekens '%' en een string concatenatie met je operand + @xml. Ik denk dat die LIKE search sneller is; met de IN moet hij elk record met 4 strings vergelijken.
Maar dat stuk moet toch in een string staan? Dan krijg je "WHERE " + input + " LIKE %" + xml + ".
Punt is, dat die xml variabele geen variabele is, maar een kolomnaam (dus ook een string).

Tevens heb ik dit al geprobeerd en dat werkte niet.

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22-09 14:14

Matis

Rubber Rocket

Nee, als ik het allemaal goed begrijp heb je niet helemaal gelijk.

Ik heb laatste ook een soort van sql-commando gebruikt in C# (.Net 3.5).

even de code zoeken hoor:

C#: example.cs
1
2
3
4
5
6
7
8
9
10
// Tyle is mn eigen struct met daarin een x en een y en een veldwaarde
// columns is een array(list) met daarin 1000den Tyle-objecten
// Je kan dus opdeze manier heel eenvoudig opzoek gaan naar de juiste tyle's, zie het als een soort van sql-commando's
// Dat FirstOrDefault() betekend dat hij standaard breakt als hij 1 hit heeft gevonden, of 0 teruggeeft als er niets gevonden is.
// tyle was mijn object waar hij naar opzoek moest gaan, ik had vooraf dus hetvolgende gedaan --> Tyle tyle
// x was bijvoorbeeld 1234 en y was 5678
// wat hij returnde in tyleBuffer was dus hetvolgende 
// tyleBuffer.x --> 1234 (int) tyleBuffer.y --> 5678 (int) en de tyleBuffer.vale -->7(char).
// Je kan natuurlijk alles met tyleBuffer doen, zolang je de struct-waardes maar goed zet ;)
Tyle tyleBuffer = (from tyle in columns where tyle.x == x && tyle.y == y select tyle) .FirstOrDefault();


Dit werkt retesnel omdat hij op de achtergrond een soort hasmap maakt en dat gaat zo snel.
Iedereen zei dat dit heel traag was, maar mn pc deed 12000 values doorlopen binnen 2ms.

Edit:
Ik moet erbij zeggen dat de value er wel inzat waar hij naar opzoek was, dus hij heeft praktisch nooit de hele arraylist doorlopen.

[ Voor 24% gewijzigd door Matis op 31-01-2009 10:48 ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

aaajeetee schreef op vrijdag 30 januari 2009 @ 20:49:
Maar dat stuk moet toch in een string staan? Dan krijg je "WHERE " + input + " LIKE %" + xml + ".
Punt is, dat die xml variabele geen variabele is, maar een kolomnaam (dus ook een string).

Tevens heb ik dit al geprobeerd en dat werkte niet.
Dit werkt gewoon hoor hier.
C#:
1
2
SqlCommand command = new SqlCommand("SELECT * FROM table_name WHERE @input LIKE '%' + column_name", connection);
command.Parameters.AddWithValue("@input", "www.amazon.co.uk");

Beetje eigen initiatief tonen ook ...

[ Voor 3% gewijzigd door Zoijar op 31-01-2009 11:05 ]


Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 21:52
Zoijar schreef op zaterdag 31 januari 2009 @ 11:05:
[...]

Dit werkt gewoon hoor hier.
C#:
1
2
SqlCommand command = new SqlCommand("SELECT * FROM table_name WHERE @input LIKE '%' + column_name", connection);
command.Parameters.AddWithValue("@input", "www.amazon.co.uk");

Beetje eigen initiatief tonen ook ...
Punt is dat ik XML inlees en niet een database.. of werkt SqlComand ook bij XML?

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 23-09 17:17

gorgi_19

Kruimeltjes zijn weer op :9

Nee, je zal dan met XPath / Linq to XML aan de slag moeten.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 21:52
gorgi_19 schreef op zaterdag 31 januari 2009 @ 22:43:
Nee, je zal dan met XPath / Linq to XML aan de slag moeten.
Oké, linq zit in .NET framework 3.5, en ik ben in 2.0 bezig (vanwege compatibiliteit). Gaat dus niet op.

Toch bedankt voor de antwoorden!
Pagina: 1