[ me-tuzalem @ 13.05.2004. 11:08 ] @
Možda bi ovo trebalo da ide u forum XML, ali ja ipak imam problem kako da parsiram XML u Javi.
U XML fajlu imam DOCTYPE i u njemu:
.
.
Code:

<!ELEMENT USLOV (#PCDATA)>
.
.
<USLOV>Ovde ide neki tekst</USLOV>
.
.

Kada hocu da pomocu SAX parsera kroz

Code:
MojHandler extends DefaultHandler{...}


dodjem do teksta ne mogu nikako! Zapravo, ne znam kako i da li je uopšte moduće.
Ni startElemet(...) ni endElement(...) metode mi to ne omogućavaju. Mogu kroz character(...) ali mi je glupo da se konjošem.
Ako promenim

Code:
<USLOV TEKST="Ovde ide neki tekst" />


(naravno i uz promenu DOCTYPE)

mogu lako da sa

Code:
String x = attr.getValue("TEKST");


dođem do željenog podatka.

Gde grešim, i da li je ovo uopšte moguće kroz SAX ili moram da idem na DOM ?

Hvala na svim savetima.
[ djura1 @ 13.05.2004. 11:26 ] @
Citat:

Kada hocu da pomocu SAX parsera kroz

Code:


MojHandler extends DefaultHandler{...}



dodjem do teksta ne mogu nikako! Zapravo, ne znam kako i da li je uopšte moduće.


Kako mislis ne mozes da dodjes do teksta? Ja sam imao slican problem, tj. za svaki element sam dobijao prazan string. Doduse, ja nisam koristio DTD, niti bilo kakvu validaciju, pa su mi problem bili razmaci i novi redovi u fajlu (parser ih je prepoznavao kao elemente).
S obzirom da ti imas DTD, ne znam da li je to, ali meni je pomogla upotreba metoda trim() (ne secam se da li je deo SAX paketa ili mozda String klase)
[ -zombie- @ 15.05.2004. 02:51 ] @
Citat:
me-tuzalem:
Mogu kroz character(...) ali mi je glupo da se konjošem.


nikako drugačije, već ćeš morati da se "konjošeš" (ma šta to značilo). to je jedini način da pročitaš pcdata uz pomoć SAXa..