Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[XML] foutmelding XML parsen

Pagina: 1
Acties:

  • nota
  • Registratie: Augustus 2001
  • Laatst online: 12-08 08:52
Bij het parsen van een XML bestand geeft de parser een error omdat het bestand speciale "voorloopkarakters" bevat. Het bestand moet in principe beginnen met de tag <IMPORT>. Maar bij het openen van het bestand in ultraEdit zie ik inderdaad dat er drie karakters voor staan, namelijk "  ". Deze tekens zijn niet zichtbaar in Notepad. Ik vraag me af of deze tekens de Charset aangeven of dat het andere informatie betreft?

Het bestand wordt gegenereerd d.m.v. een SQL query op een database. De query zelf heb ik op dit moment niet voorhanden. Enig idee hoe ik deze tekens uit het resultaat van de query kan houden?

If you think sex is a pain in the ass, try different position


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Dat is een UTF Byte Order Mark

Intentionally left blank


  • nota
  • Registratie: Augustus 2001
  • Laatst online: 12-08 08:52
bedankt voor het snelle antwoord!

If you think sex is a pain in the ass, try different position


  • nota
  • Registratie: Augustus 2001
  • Laatst online: 12-08 08:52
Aangezien dit wel vaker voor zal komen, haal ik de karakters niet uit het bronbestand. Ik pas de parser wel aan zodat ie deze karakters herkent. Probleem opgelost.

If you think sex is a pain in the ass, try different position


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
nota schreef op donderdag 02 augustus 2007 @ 13:10:
Aangezien dit wel vaker voor zal komen, haal ik de karakters niet uit het bronbestand. Ik pas de parser wel aan zodat ie deze karakters herkent. Probleem opgelost.
Daarmee doe je aan symptoombestrijding. Zorg gewoon voor de juiste encoding in plaats van de parser aan te passen :X

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


  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 28-11 11:15

sopsop

[v] [;,,;] [v]

Inderdaad. Zodra je in de basis al misgaat met je characterencoding blijf je daar de mist mee ingaan. En d'r is niets zo irritant als foutieve encoderingen in met name xml-bestanden.

  • nota
  • Registratie: Augustus 2001
  • Laatst online: 12-08 08:52
Probleem is dat ik weinig invloed heb op de encoding. De XML bestanden worden aangeleverd door derden, met verschillende XML structuren. De mappings geef ik per verstrekker aan.
Deze Byte Order Mark zou ik dan toch bij meer bestanden aan kunnen treffen? Of hoort deze Byte Order Mark gewoon niet in een XML bestand te staan volgens de algemene richtlijnen? Want dan kan ik beter proberen te voorkomen dat men deze tekens in het bestand zet.

If you think sex is a pain in the ass, try different position


  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 28-11 11:15

sopsop

[v] [;,,;] [v]

nota schreef op donderdag 02 augustus 2007 @ 14:08:
Probleem is dat ik weinig invloed heb op de encoding. De XML bestanden worden aangeleverd door derden, met verschillende XML structuren. De mappings geef ik per verstrekker aan.
Deze Byte Order Mark zou ik dan toch bij meer bestanden aan kunnen treffen? Of hoort deze Byte Order Mark gewoon niet in een XML bestand te staan volgens de algemene richtlijnen? Want dan kan ik beter proberen te voorkomen dat men deze tekens in het bestand zet.
In een XML kun je ook aangeven in welke encoding het geencodeerd is. Doen ze dat niet is het standaard UTF-8. Sturen ze wat anders dan is het een foutief XML-bestand.

  • nota
  • Registratie: Augustus 2001
  • Laatst online: 12-08 08:52
Dus dan is het toch het beste idee om de parser aan te passen zodat deze de Byte Order Marks herkent? En niet de Byte Order Marks uit de bestanden te halen?

If you think sex is a pain in the ass, try different position


  • remco_k
  • Registratie: April 2002
  • Laatst online: 08:28

remco_k

een cassettebandje was genoeg

sopsop schreef op donderdag 02 augustus 2007 @ 14:23:
[...]

In een XML kun je ook aangeven in welke encoding het geencodeerd is. Doen ze dat niet is het standaard UTF-8. Sturen ze wat anders dan is het een foutief XML-bestand.
Zeg jij nou dat er geen andere encodering bestaat dan UTF-8?
(dus: bestaan UTF-16 en ISO-8859-1 volgens jouw niet?)
Of begrijp ik je post niet goed?

Alles kan stuk.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
remco_k schreef op donderdag 02 augustus 2007 @ 15:32:
[...]

Zeg jij nou dat er geen andere encodering bestaat dan UTF-8?
(dus: bestaan UTF-16 en ISO-8859-1 volgens jouw niet?)
Of begrijp ik je post niet goed?
Je begrijpt zijn post niet goed. De BOM zegt namelijk min of meer ook al dat het UTF-8 is ;)

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


  • nota
  • Registratie: Augustus 2001
  • Laatst online: 12-08 08:52
RobIII schreef op donderdag 02 augustus 2007 @ 15:41:
[...]

Je begrijpt zijn post niet goed. De BOM zegt namelijk min of meer ook al dat het UTF-8 is ;)
Inderdaad, maar aangezien de BOM bij UTF-8 niet echt nodig is (omdat UTF-8 volgens mij geen problemen kent wat betreft Byte Order) kan men het in het bestand net zo goed weglaten.

Ik ben er al uit:

Entities encoded in UTF-16 MUST and entities encoded in UTF-8 MAY begin with the Byte Order Mark described by Annex H of [ISO/IEC 10646:2000], section 2.4 of [Unicode], and section 2.7 of [Unicode3] (the ZERO WIDTH NO-BREAK SPACE character, #xFEFF). This is an encoding signature, not part of either the markup or the character data of the XML document. XML processors MUST be able to use this character to differentiate between UTF-8 and UTF-16 encoded documents.


Dus toch de parser aanpassen.

If you think sex is a pain in the ass, try different position


  • remco_k
  • Registratie: April 2002
  • Laatst online: 08:28

remco_k

een cassettebandje was genoeg

^^ en dat maakt de boel in 1 klap duidelijk! :)

Alles kan stuk.

Pagina: 1