|
| Indkapsling af tekst i en fil? Fra : David Poulsen |
Dato : 11-02-03 11:19 |
|
Hejsa NG
Jeg har et lille problem, jeg kan lige se hvordan jeg skal indkapsle min
tekst f.eks. <alert>Hejsa</alert> her vil jeg gerne indkapsle det der er
imellem <> og </> tegnene...
Er der nogen der kan hjælpe mig??
Takker
Mvh
David
| |
Karl Peder Olesen (11-02-2003)
| Kommentar Fra : Karl Peder Olesen |
Dato : 11-02-03 17:20 |
|
On Tue, 11 Feb 2003 11:19:18 +0100, "David Poulsen"
<dpoulsen@e-box.dk> wrote:
>Hejsa NG
>
>Jeg har et lille problem, jeg kan lige se hvordan jeg skal indkapsle min
>tekst f.eks. <alert>Hejsa</alert> her vil jeg gerne indkapsle det der er
>imellem <> og </> tegnene...
>
>Er der nogen der kan hjælpe mig??
>
Hej,
Kunne du måske uddybe lidt nærmere hvad problemet går ud på - hvad
mener du med at indkapsle? Har du en tekst - "Hejsa" - som du vil
skrive til en fil som "<alert>Hejsa</alert>"? Eller hvad mener du?
Hvis du gider skrive lidt nærmere - så kommer der nok en hjælpende
hånd vil jeg tro.
mvh
Karl Peder
| |
David Poulsen (11-02-2003)
| Kommentar Fra : David Poulsen |
Dato : 11-02-03 18:28 |
|
Jeg synes nu jeg gjorde mig ret forstående men man skal heller ikke losse
til de umælende dyr
Jeg har en fil som jeg indlæser i mit program, når mit program så støder på
en sætning med <"tekst">etellerandet</tekst> så skal den læse det der står i
mellem <></>
Lidt ligesom HTML.
Mit projekt går ud på at lave mit egen script sprog...
Mvh
David
| |
soren davidsen (11-02-2003)
| Kommentar Fra : soren davidsen |
Dato : 11-02-03 20:12 |
|
"David Poulsen" <dpoulsen@e-box.dk> writes:
> Jeg synes nu jeg gjorde mig ret forstående men man skal heller ikke losse
> til de umælende dyr
>
> Jeg har en fil som jeg indlæser i mit program, når mit program så støder på
> en sætning med <"tekst">etellerandet</tekst> så skal den læse det der står i
> mellem <></>
>
> Lidt ligesom HTML.
>
> Mit projekt går ud på at lave mit egen script sprog...
er det 'tag' navnet du vil have, eller den tekst som tag'et indeholder ?
<tag>tekst</tag>
mvh,
--
school:soren.davidsenATturtle.math.klte.hu//math-institute/uni-debrecen
other:sorenATtanesha.net// www.tanesha.net
| |
Jesper Sørensen (11-02-2003)
| Kommentar Fra : Jesper Sørensen |
Dato : 11-02-03 20:49 |
|
"soren davidsen" <soren-usenet200302@tanesha.net> wrote in message
news:87hebaocnc.fsf@tanesha.net...
> "David Poulsen" <dpoulsen@e-box.dk> writes:
>
> > Jeg synes nu jeg gjorde mig ret forstående men man skal heller ikke
losse
> > til de umælende dyr
> >
> > Jeg har en fil som jeg indlæser i mit program, når mit program så støder
på
> > en sætning med <"tekst">etellerandet</tekst> så skal den læse det der
står i
> > mellem <></>
> >
> > Lidt ligesom HTML.
> >
> > Mit projekt går ud på at lave mit egen script sprog...
>
> er det 'tag' navnet du vil have, eller den tekst som tag'et indeholder ?
>
> <tag>tekst</tag>
Ja det er det. Du kan bruge XML klasserne de er nemme at anvende og så
slipper du for at lave parseren selv :).
http://java.sun.com/webservices/docs/1.0/tutorial/index.html
mvh
JS
| |
Trygleren [9000] (12-02-2003)
| Kommentar Fra : Trygleren [9000] |
Dato : 12-02-03 14:20 |
|
>> Mit projekt går ud på at lave mit egen script sprog...
> Du kan bruge XML klasserne de er nemme at anvende og så
> slipper du for at lave parseren selv :).
Og så har han ikke lavet sit eget sprog, som opgaven gik ud på.
--
"Sic gorgiamus allos subjectatos nunc"
Lars 'Trygleren' Winther
www.hesteskelet.dk/newsgroup
| |
Jesper Sørensen (12-02-2003)
| Kommentar Fra : Jesper Sørensen |
Dato : 12-02-03 17:25 |
|
"Trygleren [9000]"
>
> Og så har han ikke lavet sit eget sprog, som opgaven gik ud på.
>
Han skal jo selv definere sproget i et DTD fx. Men du har da ret i at han
ikke skal lave en skanner / parser som jeg jo også skrev :).
Altså bare fordi html kan defineres i XML er det ikke ensbetydende med at
dem der har opfundet HTML ikke selv har lavet sproget.
mvh
JS
| |
Michael Banzon (12-02-2003)
| Kommentar Fra : Michael Banzon |
Dato : 12-02-03 18:35 |
|
> Altså bare fordi html kan defineres i XML er det ikke ensbetydende med at
> dem der har opfundet HTML ikke selv har lavet sproget.
Er det ikke de samme mennesker???
/ Michael
| |
Jonas Kongslund (12-02-2003)
| Kommentar Fra : Jonas Kongslund |
Dato : 12-02-03 18:51 |
|
Michael Banzon wrote:
>> Altså bare fordi html kan defineres i XML er det ikke ensbetydende med at
>> dem der har opfundet HTML ikke selv har lavet sproget.
>
> Er det ikke de samme mennesker???
I hvert fald samme konsortium.
XML kunne i øvrigt fejre sin 5-års fødselsdag i mandags.
--
Jonas Kongslund
The programmer, like the poet, works only slightly removed from pure
thought-stuff. He builds his castles in the air, from air, creating by
exertion of the imagination. [Brooks, The Mythical Man-Month]
| |
Jesper Sørensen (12-02-2003)
| Kommentar Fra : Jesper Sørensen |
Dato : 12-02-03 19:39 |
|
"Jonas Kongslund" <gamma@post.tele.dk> wrote in message
news:3e4a8984$0$166$edfadb0f@dread14.news.tele.dk...
> Michael Banzon wrote:
>
> >> Altså bare fordi html kan defineres i XML er det ikke ensbetydende med
at
> >> dem der har opfundet HTML ikke selv har lavet sproget.
> >
> > Er det ikke de samme mennesker???
hehe good point - havde jeg ikke lige tænkt over :)
| |
David Poulsen (11-02-2003)
| Kommentar Fra : David Poulsen |
Dato : 11-02-03 21:17 |
|
"soren davidsen" <soren-usenet200302@tanesha.net> wrote in message
news:87hebaocnc.fsf@tanesha.net...
> "David Poulsen" <dpoulsen@e-box.dk> writes:
>
> > Jeg synes nu jeg gjorde mig ret forstående men man skal heller ikke
losse
> > til de umælende dyr
> >
> > Jeg har en fil som jeg indlæser i mit program, når mit program så støder
på
> > en sætning med <"tekst">etellerandet</tekst> så skal den læse det der
står i
> > mellem <></>
> >
> > Lidt ligesom HTML.
> >
> > Mit projekt går ud på at lave mit egen script sprog...
>
> er det 'tag' navnet du vil have, eller den tekst som tag'et indeholder ?
>
> <tag>tekst</tag>
>
>
Det er begge dele, i første omgang kun det der stå i tag <tag></tag>
/david
| |
Jimmy Klitgaard [900~ (12-02-2003)
| Kommentar Fra : Jimmy Klitgaard [900~ |
Dato : 12-02-03 11:39 |
|
"David Poulsen" <dpoulsen@e-box.dk> skrev i en meddelelse
news:loa2a.77445$Hl6.7588358@news010.worldonline.dk...
> Mit projekt går ud på at lave mit egen script sprog...
Det lader til, at du ikke er på jagt efter en færdig XML parser og/eller
fortolker, da det er til en opgave du selv skal løse. Jeg tror jeg har en
mulig løsning på problemos.
1) Læs din fil ind i en StringBuffer
2) Brug DinStringBuffer.indexOf("<") til at finde start på tag og
efterfølgende slut på tag.
3) Klip Data mellem de to tags ud med metoden getChars, evt. efterfulgt af
..toString()
4) Gem denne som key
5) Find næste start tag "<\" (og slut tag ">")
6) Klip data mellem sidste slut tag og nye start tag og gem i string
variabel kaldet value.
7) Evt. klippe det læste data ud fra StringBufferen til sidst.
Ovenstående kan implementeres i en metode der returnerer næste key og value.
Den kaldende funktion kan således køre en switch på de forskellige keys og
have forskellig funktionalitet afhængig af hvilken key der var i filen.
switch (key){
case: key.equals("alert")
bla bla
case: key.equals(".....
}
Håber dette er til lidt hjælp.
Mvh
Jimmy
| |
David Poulsen (12-02-2003)
| Kommentar Fra : David Poulsen |
Dato : 12-02-03 13:03 |
|
Tusind tak.
Det var lige den vejledning jeg skulle bruge
Du har reddet min dag.... Ellers ville jeg havde brugt mere tid på det, og
så skal jeg igang med at læse API igennem igen... hehe
Takker
Mvh
David
| |
Anders K. Olsen (12-02-2003)
| Kommentar Fra : Anders K. Olsen |
Dato : 12-02-03 22:37 |
|
"David Poulsen" <dpoulsen@e-box.dk> skrev i en meddelelse
news:8Kq2a.83281$Hl6.7687321@news010.worldonline.dk...
> Tusind tak.
>
> Det var lige den vejledning jeg skulle bruge
>
> Du har reddet min dag.... Ellers ville jeg havde brugt mere tid på det, og
> så skal jeg igang med at læse API igennem igen... hehe
Overvej at kikke lidt på Regular Expressions. Det er en ny funktionalitet i
Java 1.4, og det er rigtig godt hvis man skal parse en tekst. Det er måske
lidt kompliseret at sætte sig ind i, men det er tilgengæld meget kraftfuldt
hvis man først mestrer det.
Du kan finde en tutorial her:
http://java.sun.com/docs/books/tutorial/extra/regex/index.html, og sikkert
også mange andre steder på nettet, hvis du prøver at søge lidt efter de.
God fornøjelse.
/Anders
| |
Jonas Kongslund (12-02-2003)
| Kommentar Fra : Jonas Kongslund |
Dato : 12-02-03 22:51 |
|
Anders K. Olsen wrote:
> Overvej at kikke lidt på Regular Expressions. Det er en ny funktionalitet
> i Java 1.4, og det er rigtig godt hvis man skal parse en tekst. Det er
> måske lidt kompliseret at sætte sig ind i, men det er tilgengæld meget
> kraftfuldt hvis man først mestrer det.
Hvis man har behov for at parse tekster ud fra en kontekstfri grammatik, som
ikke kan beskrives vha. regulære udtryk, så kan jeg anbefale at man bruger
JavaCC. Det er en parsergenerator i stil med YACC.
Programmet kan hentes her:
http://www.webgain.com/products/java_cc/
Forskellige grammatikker i JavaCC-format, herunder XML:
http://www.cobase.cs.ucla.edu/pub/javacc/
JavaWorld artikel: Build your own languages with JavaCC
http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-cooltools_p.html
--
Jonas Kongslund
The programmer, like the poet, works only slightly removed from pure
thought-stuff. He builds his castles in the air, from air, creating by
exertion of the imagination. [Brooks, The Mythical Man-Month]
| |
Rune Simonsen (12-02-2003)
| Kommentar Fra : Rune Simonsen |
Dato : 12-02-03 17:55 |
|
On Wed, 12 Feb 2003 11:39:04 +0100, "Jimmy Klitgaard [9000]"
<jimmy@NOSPAMmi.auc.dk> wrote:
> Ovenstående kan implementeres i en metode der returnerer næste key og value.
> Den kaldende funktion kan således køre en switch på de forskellige keys og
> have forskellig funktionalitet afhængig af hvilken key der var i filen.
Alternativt, hvis det skal være lidt mere fancy dvs. kunne finde tags
inde i tags inde i tags.. osv.
altså kunne læse noget ala
"<i>her er kursive og ikke <b>fede</b> bogstaver</i>."
funktion AnalyserStreng(s : String)
0. Hvis der ikke er nogle tags i s er du færdig(*) ellers følgende:
1. Find starten på første tag.
(1.5). Der sættes en eller anden option for hele denne delstreng, som
gør, at du ved, at det hele skal være (i dette tilfælde) kursivt.
2. læs herfra og hen til slutningen af tag'et fra (1). Ignorer andre
typer tags du finder på "vejen".
3. kør AnalyserStreng på (2)
Det er lidt svært at komme med 1.5, for det afhænger en del af hvad du
ønsker at gøre med de fundne tags. Ligeså med *. Med denne rekursive
måde er du i hvert fald sikker på at komme helt "i bund" selvom der
står masser af tags inde i hinanden.
Det er nok lidt besværligt at skrive, og du skal overveje hvilken
datastruktur du vil gemme det fundne i(f.eks. en flok objekter der
alle implementerer et eller andet interface der beskriver hvad der
altid skal gøres med en stump fra den oprindelige streng - hvis disse
smides i en rekursiv linked liste kan man lave smarte ting), men det
er meget effektivt og fleksibelt og du kan lave et meget kraftigs
scriptsprog ud af det.
Det kan dog nemt blive skyde-gråspurve-med-kanoner, men igen afhængig
af hvad du ønsker.
--
Rune Simonsen
| |
|
|