Hallo,
Ik ben bezig met een programma dat data (HTML sourcecode) uitleest uit een HTML pagina.
Om deze date te kunnen gebruiken wilde ik de sourcecode omzetten naar XML, dit lukt prima.
De code voor het uitlezen van een XML bestand is echter wat slordig.
De XML die ik inlees heeft de volgende indeling (zonder XML header etc):
Ik lees dus nu per regel in, in de hoop dat de indeling van het XML document altijd hetzelfde is.
Probleem is dat dit niet altijd het geval is, daarom ben ik op zoek gegaan naar een manier
die kijkt wat het attribuut van <TD> is.
Het doel is dus dat ik code zoek die per <REGEL> kijkt wat het attribuut van de TD of SPAN is en deze aan de hand van het attribuut (bv COL1) deze in een tijdelijke COL1 variable stopt, en attributen die 'nieuw' zijn niet gebruikt.
Ik heb op het forum gezocht naar oplossingen, en zag wel een bericht dat ging over .HasAttributes maar als ik mijn huidige code wil combineren met deze nieuwe methode dan loopt het helemaal mis.
Heeft iemand een oplossing voor mij, misschien is het wel zeer eenvoudig (of niet) maar ik kom er nu niet uit...
Alvast Bedankt,
Nick
Ik ben bezig met een programma dat data (HTML sourcecode) uitleest uit een HTML pagina.
Om deze date te kunnen gebruiken wilde ik de sourcecode omzetten naar XML, dit lukt prima.
De code voor het uitlezen van een XML bestand is echter wat slordig.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| int x = 0; int i = 0; XmlTextReader reader = new XmlTextReader("xx.xml"); textBox2.Text = ""; while (reader.Read()) { if (reader.NodeType == XmlNodeType.Text) { x++; i++; textBox2.Text += i + ": " + reader.ReadString() + " " + System.Environment.NewLine; label1.Text = x.ToString(); if (i == 5) i = 0; //test voor 500 regels if (x == 500) break; } } |
De XML die ik inlees heeft de volgende indeling (zonder XML header etc):
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <REGEL> <TD CLASS="COL1">12345</TD> <TD CLASS="COL2">17:06:28</TD> <TD CLASS="COL3">Bericht 1 <SPAN CLASS="M">Bericht2</SPAN> </TD> </REGEL> <REGEL> <TD CLASS="COL1">12345</TD> <TD CLASS="COL2">17:06:28</TD> <TD CLASS="COL3">Bericht 1 <SPAN CLASS="M">Bericht2</SPAN> </TD> </REGEL> <REGEL> <TD CLASS="COL1">12345</TD> <TD CLASS="COL2">17:06:28</TD> <TD CLASS="COL3">Bericht 1 <SPAN CLASS="M">Bericht2</SPAN> </TD> </REGEL> |
Ik lees dus nu per regel in, in de hoop dat de indeling van het XML document altijd hetzelfde is.
Probleem is dat dit niet altijd het geval is, daarom ben ik op zoek gegaan naar een manier
die kijkt wat het attribuut van <TD> is.
Het doel is dus dat ik code zoek die per <REGEL> kijkt wat het attribuut van de TD of SPAN is en deze aan de hand van het attribuut (bv COL1) deze in een tijdelijke COL1 variable stopt, en attributen die 'nieuw' zijn niet gebruikt.
Ik heb op het forum gezocht naar oplossingen, en zag wel een bericht dat ging over .HasAttributes maar als ik mijn huidige code wil combineren met deze nieuwe methode dan loopt het helemaal mis.
Heeft iemand een oplossing voor mij, misschien is het wel zeer eenvoudig (of niet) maar ik kom er nu niet uit...
Alvast Bedankt,
Nick