Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 4.070 pregleda

Najnovija ↓

malecni problem vezano sa Javom i XML-om 20.07.2006. u 12:28 · pre 246 meseci #1
Naime, pravim u Javi neki konvertor koji prebacuje iz nekog shkmlj formata u xml format.
taj generisani xml sad moram da parsiram i da koristim u novom programu.

Problem mi nailazi u tome sto npr.
<ja nesto="sale & 213 < blablabla">
pravi problem.
U IE mi pri otvaranju kaze redom ove greske, no whitespace allowed ... (posle & znaka on ocekuje broj ili neki znak a ne whitespace), a drugi problem koji pravi je ako se znak < pojavljuje u stringu.
Meni su te greske totalno bezveze jer mi je logicno da se svi karakteri unutar navodnika ignorisu.

Sad kada sam pokusao da parsiram takav xml fajl (JAXP) prijavljuje mi SAXParseException pri parsiranju istog fajla sa tim znakovima, a sve mu je u redu kada nema tih karaktera.

Postoji li nacin nekako da kazem parseru da u stringu mogu biti ti znakovi i da ne pravi problem oko toga?
(Ti znakovi moraju da ostanu tu gde su)

Trenutno resenje mi je da regularnim izrazima prepoznam tagove i njegove elemente, ali je to lose resenje ako se ustanovi da postoji ikakav nacin da se ipak to uspe izparsirati preko Javinih XML Parsera.
Potpis
kaaaaaammmeeeeeeeeee
haaaaaammmeeeeeeeeee
TAAALAAAAAASSSSS!!!!
Re: malecni problem vezano sa Javom i XML-om 20.07.2006. u 12:57 · pre 246 meseci #2
Pa u redu je sto parseri prijavljuju greske jer taj XML nije validan. Speciajni karateri (kao sto su & < > i sl.) moraju da budu "eskejpovani" kada se pojavljuju u vrednosti atributa ili u body-ju nekog taga, dakle & = &amp; < = &lt; etc...

Dakle, samo ispravi deo koji ti generise ovaj XML tako da <ja id="blac & < truc"> ustvari izgleda <ja id="blac &amp; &lt; truc">


Potpis
<< tko leti vrijedi, tko ne leti ne vrijedi >>
Re: malecni problem vezano sa Javom i XML-om 20.07.2006. u 13:37 · pre 246 meseci #4
Probaj da koristis DOM biblioteke za "sklapanje" xml-a. Verovatno postoji opcija za eskejpovanje. Moguce cak i da se to automatski desava sa createTextNode() ili kako se god zove funkcija.
Potpis
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
Re: malecni problem vezano sa Javom i XML-om 05.09.2006. u 01:56 · pre 245 meseci #5
Malo starija tema, ali eto da preporucim i JDOM API za XML sa javom. Prilicno je lak i prati Javinu filozofiju oko toga kako stvari trebaju da se pozivaju i sl.
Potpis
Unices are great!
Re: malecni problem vezano sa Javom i XML-om 05.09.2006. u 22:58 · pre 245 meseci #7
Pa, NikolaVeber je (u ovom thread-u) preporucio koriscenje DOM-a -- nacin da XML fajlove posmatramo kao objekte. Problem DOM-a, ako se tako moze nazvati, je sto je on platformski i jezicki neutralan. DOM = isti API za vise programskih jezika. Tu uskace JDOM -- nije dzaba to "J" ispred. JDOM je bas napisan za java programere.

Odgovor: JDOM koristi javine tipove, preklapanje metoda, *javine kolekcije* (strava fora, metoda vraca listu, pa ides iteratorom kroz elemente, pa mi je kod ovako lepsi i laski), get i set metode podsecaju na javu totalno. Znaci ne moramo nista okolo da radimo.

Evo recimo poredjenja na koje sam sada naisao:

DOM:
Code:

Document doc = new org.apache.xerces.dom.DocumentImpl();
Element root = myDocument.createElement("myRootElement");
Text text = myDocument.createText("This is a root element");
root.appendChild(text);
myDocument.appendChild(root);


JDOM:
Code:

Element root = new Element("myRootElement");
Document doc = new Document(root);
root.setText("This is a root element");
Potpis
Unices are great!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme