UnicodeEncodeErrors in PDOK gml data

Bij de wfs van ruimtelijkeplannen, maar eerder ook al eens bij een Klic-orïentatieverzoek stuitte ik op een probleem met karakters. In onderstaand geval toen ik de opgehaalde data direct naar een zip wilde schrijven met de ironPython zipfile module. UnicodeEncodeError: (‘unknown’, ‘\x00’, 0, 1, ‘’), maar als ik het daar omzeil door niet te zippen kom ik het probleem later weer tegen bij de ElementTree module denk ik.

Mijn poging om dit probleem op te lossen stranden bij onderstaande functie, die nog steeds de UnicodeEncodeError geeft.
def forceUnicode(value):#Python Unicode Encode Error - Stack Overflow
if type(value) == str: return unicode(value, ‘utf-8’, errors=‘ignore’)
# Ignore errors even if the string is not proper UTF-8 or has
# broken marker bytes.
# Python built-in function unicode() can do this.
else: return unicode(value)
# Assume the value object has proper unicode() method

de gebruikte serve voor dit geval: http://afnemers.ruimtelijkeplannen.nl/afnemers2012/services?REQUEST=GetFeature&service=WFS&version=2.0.0

Valt gebruik van karakters zoals \x00 binnen de INSPIRE standaard?
Heeft iemand nog een tip om ze te omzeilen?

Dit lijkt te werken:
def forceUnicode(value):#Unicode HOWTO — IronPython 2.7.2b1 documentation
value=value.encode(‘ascii’,‘xmlcharrefreplace’)# ‘ignore’)#
return value

Ik heb iets soortgelijks gehad met de Verbeter de Kaart markers:

In mijn eigen C# code heb ik het opgelost met een functie de checkt op geldige XML karakters:

public static string GetValidXmlString(string content) => new string(content.Where(c => System.Xml.XmlConvert.IsXmlChar(c)).ToArray());

Maar ik weet niet of dit ook in Python kan. Bovendien is het een workaround, mooier is het als dit opgelost wordt aan de achterkant.

RPnl maakt gebruik van een validator. Hierbij wordt echter niet overal gecontroleerd of de characters correct zijn. Een doodenkele keer komen we daardoor tegen dat een bronhouder een invalide character heeft gebruikt op een plaats welke, toevallig, niet wordt gecontroleerd. Wij vragen dan de bronhouder om dit te corrigeren omdat RPnl de plannen niet inhoudelijk mag aanpassen. Overigens valt de WFS-service van RPnl niet onder de INSPIRE standaard, daarvoor moet je bij de aangeboden services via PDOK zijn.
Weet je toevallig ook op welk plan je vast loopt? Ik kan deze dan controleren en eventueel de bronhouder informeren.

Dit topic is 180 dagen na het laatste antwoord automatisch gesloten. Nieuwe antwoorden zijn niet meer toegestaan.