Toon posts:

ASP-XML-RegEx

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo iedereen,

RegEx. Ik begin hier eindelijk iets van te snappen maar ben er nog niet helemaal uit. Hetgeen wat ik uiteindelijk wil bereiken is een XML(rss feed) bestand maken die zijn gegevens dmv mijn ASPscriptje uit een HTML pagina krijgt.

Nu staat de informatie die in de XML pagina moet komen in een HTML bestand. Deze HTML pagina lees ik uit via Microsoft.XMLHTTP object en zet die gehele pagina in een variabel.

En nu loop ik vast. Ik moet de waarden (de link, de titel en de tekst) tussen de tags uit me HTML elk in een aparte variabele zien te zetten.


(test.html)
HTML:
1
2
3
4
5
6
<div class="titelvlak">
<a href="/intranet/content.jsp?objectid=38396">titel</a>     
</div>
<div class="briefingtekstvlak">
tekst
</div>

Dit kan met regex. Maar hoe wat en waarom....... ik loop vast. Hieronder mijn code tot nu toe:

(test.asp)
ASP:
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
27
Dim StrHTML, RegEx
Const REGEX_PATTERN = "<div \b[^>]*>(.*?)</div>" '<<<< HELP!!!
Set RegEx = New RegExp

Function GetHTML(strURL)
on error resume next
  Dim objXMLHTTP, strReturn
  Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")

  objXMLHTTP.Open "GET", strURL, False
  objXMLHTTP.Send   
  strReturn = objXMLHTTP.responseText
  Set objXMLHTTP = Nothing

  GetHTML = strReturn
End Function


With RegEx
.Pattern = REGEX_PATTERN
.IgnoreCase = true
.Global = True
End With

StrHTML = GetHtml("http://localhost/html.html")

Set expressionmatch = RegEx.Execute(StrHTML) '<<<< HELP!!!

Iemand die mij zou kunnen helpen met dit probleem? Op internet kom ik niet verder. De uitleg is voor mij gewoon niet duidelijk. Hoe kan ik een goede patroon maken voor RegEx? Hoe krijg ik de goede waarden terug?

Bij voorbaat HEEL erg bedankt.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Als je code post, gebruik dan code tags. Daarnaast is dit meer iets voor PRG dan WEB (Waar hoort mijn topic?)

WEB >> PRG :Y)

[ Voor 43% gewijzigd door RobIII op 03-05-2007 11:20 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
RobIII schreef op donderdag 03 mei 2007 @ 11:19:
Als je code post, gebruik dan code tags. Daarnaast is dit meer iets voor PRG dan WEB (Waar hoort mijn topic?)

WEB >> PRG :Y)
Niet gezien ;) > veranderd
En daarnaast... dit staat toch in PRG? }:O

Voorderest iemand die mij kan helpen O-)

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08 23:34
Met een regulier expressie definieer je in feite een (reguliere) taal. Een string kun je dan matchen met deze expressie om te weten of je string voldoet aan deze taal. Volgens mij kun je niet zomaar waardes uit een string halen mbv een reguliere expressie (dit is toch iig niet de bedoeling van regexp'en).

Wat je beter kan doen is een HTML parser schrijven/zoeken die een HTML file kan parsen en deze in een geschikte datastructuur kan opslaan. Uit deze datastructuur kan je dan gewoon de nodige data opvragen.

[ Voor 5% gewijzigd door Feyd-Rautha op 03-05-2007 11:33 ]

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


  • MrSleeves
  • Registratie: Februari 2004
  • Laatst online: 13-10 22:03

MrSleeves

You'll thank me later.

Feyd-Rautha schreef op donderdag 03 mei 2007 @ 11:32:
Met een regulier expressie definieer je in feite een (reguliere) taal. Een string kun je dan matchen met deze expressie om te weten of je string voldoet aan deze taal. Volgens mij kun je niet zomaar waardes uit een string halen mbv een reguliere expressie (dit is toch iig niet de bedoeling van regexp'en).
Jawel, je kan een groep een naam geven en dan de tekst eromheen wijzigen.
Bijvoorbeeld:
Visual Basic .NET:
1
2
rx = New Regex("\[url\](?<link>.*?)\[/url\]")
input = rx.Replace(input, "<A href=""${link}"" target=""_blank"">${link}</A>")

Dit is een simpele maniet om een link in UBB-code in een echte HTML-link om te zetten

Maar ik moet zeggen dat ik Regex niet bepaald eenvoudig vind.

30Drie Web Design & IT Consultancy | Raven Consultancy Services


Verwijderd

Topicstarter
Dit is goede info.. dit zal me verder helpen. Ik denk dat ik het idee achterna ga van een HTML parser aangezien mij dat net ook door andere is aanbevolen.

Danku!
Pagina: 1