[Java] SAX parse probleem

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Isengrim
  • Registratie: Februari 2004
  • Laatst online: 21:05
Hallo,

Via een programma krijg ik op een socket XML data binnen. Deze probeer ik te parsen met behulp van SAX met een eigen contenthandler op zich gaat dat goed alleen komt er om de 10 nodes <?xml version="1.0"?> een nieuwe tag binnen waardoor SAX over de zeik gaat.
Is er een manier om die tag te filteren want op deze manier gaat het parsen niet lukken.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Als je die declaratie steeds opnieuw binnen krijgt lijkt me het probleem eerder ergens anders te liggen en zou je dat moeten oplossen i.p.v. het symptoom te bestrijden. Maar misschien hoort het wel zo en krijg je om de 10 nodes gewoon een nieuw document binnen :?

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


Acties:
  • 0 Henk 'm!

  • Isengrim
  • Registratie: Februari 2004
  • Laatst online: 21:05
Ik krijg die data via een generator binnen, en kan niets aan die generator wijzigen....
Hoe zou ik het dan als nieuw document kunnen zien?
Via de characters methode komt die xml declaratie niet door, alleen als ik de socket uitlees via een bufferedreader zie ik het voorbij komen....
Als ik alleen die character array laat printen dan loopt ie trouwens wel door :S

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23-09 23:37

Janoz

Moderator Devschuur®

!litemod

Doordat je een socket constant uitleest zul je zelf moeten uitvogelen wanneer het ene document afgelopen is en het volgende binnenkomt. Uitgaande van een juist opgemaakt XML document dan zal er per document maar 1 root tag zijn. Als je hier rekening mee houd (en de generator hier ook aan voldoet) dan moet het redelijk simpel zijn om de saxparser op het juiste moment te resetten zodat deze het nieuwe document op kan pakken.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'