🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
5 messages
5 total messages Started by Benoit Liessens Sun, 09 Feb 2003 15:56
python en xml
#5958
Author: Benoit Liessens
Date: Sun, 09 Feb 2003 15:56
30 lines
1973 bytes
Ik ben in python een cd-databaseje aan 't maken. Alles wordt in xml
opgeslagen:

vb:
<? xml version="1.0" ..?>
<cdcollection>
<cd artist="arno" album="best of">
    <track nr="1">putain putain</track>
    ....
</cd>
<cd ...> etc. </cd>
</cdcollection>

Ik gebruik de xml.dom.minidom implementatie om dit object van
Document()-type naar een file weg te schrijven.
Bij het inlezen heb ik echter problemen: characters als '&' en '<' worden
resp. naar '&amp;' en '&lt;' omgezet in de file maar '�' blijft '�' in de
output file. Net die '�' en ook '�' genereren errors bij het parsen van de
file naar een DOM-structuur: errors i.v.m."UTF-8". Hoe kan ik dit omlossen ?

Ten tweede : De xml-tags heb ik zelf gedefinieerd (<track> <cd> etc..) maar
ik heb geen DTD gedefinieerd. Is zo'n DTD nodig om de xml-file terug in te
lezen naar een object van het Document()-type?

Kan iemand mij een beetje wegwijs maken in dit doolhof van classes en
packages?

Dank,

Beno�t
Re: python en xml
#5959
Author: Nicolas Barbier
Date: Sun, 09 Feb 2003 17:33
18 lines
1626 bytes
Benoit Liessens wrote:

> Bij het inlezen heb ik echter problemen: characters als '&' en '<' worden
> resp. naar '&amp;' en '&lt;' omgezet in de file maar '�' blijft '�' in de
> output file. Net die '�' en ook '�' genereren errors bij het parsen van de
> file naar een DOM-structuur: errors i.v.m."UTF-8". Hoe kan ik dit omlossen
> ?

"�" en dergelijke moeten in UTF-8 als 2 bytes worden voorgesteld: blijkbaar 
schrijft je tool die dingen niet als UTF-8 uit, maar als bv latin1. Wordt 
er geen character encoding in je xml document gezet?

Zoiets dus:

<?xml version="1.0" encoding="BLABLA"?>

-- 
Nicolas Barbier
Re: python en xml
#5960
Author: Benoit Liessens
Date: Sun, 09 Feb 2003 17:56
29 lines
2028 bytes
Nicolas Barbier <anti@spam.invalid> schreef in berichtnieuws
3e4690f6$0$387$afc38c87@sisyphus.news.be.easynet.net...
> Benoit Liessens wrote:
>
> > Bij het inlezen heb ik echter problemen: characters als '&' en '<'
worden
> > resp. naar '&amp;' en '&lt;' omgezet in de file maar '�' blijft '�' in
de
> > output file. Net die '�' en ook '�' genereren errors bij het parsen van
de
> > file naar een DOM-structuur: errors i.v.m."UTF-8". Hoe kan ik dit
omlossen
> > ?
>
> "�" en dergelijke moeten in UTF-8 als 2 bytes worden voorgesteld:
blijkbaar
> schrijft je tool die dingen niet als UTF-8 uit, maar als bv latin1. Wordt
> er geen character encoding in je xml document gezet?
>
> Zoiets dus:
>
> <?xml version="1.0" encoding="BLABLA"?>

Dat encoding gedeelte heb ik inderdaad niet. Hoe bekom ik dat?
En waarom wordt '&' dan wel naar '&amp;' vertaalt ook al staat er geen
enconding bij?

Benoit
Re: python en xml
#5980
Author: Nicolas Barbier
Date: Fri, 14 Feb 2003 17:38
21 lines
1648 bytes
Benoit Liessens wrote:

>> <?xml version="1.0" encoding="BLABLA"?>
> 
> Dat encoding gedeelte heb ik inderdaad niet. Hoe bekom ik dat?

Gewoon erbij zetten.

http://www.w3.org/TR/REC-xml#charencoding

Je wil waarschijnlijk "ISO-8859-1" of "ISO-8859-15", of iets dergelijks.

> En waarom wordt '&' dan wel naar '&amp;' vertaalt ook al staat er geen
> enconding bij?

Het "&" teken heeft al een speciale betekenis in XML, evenals "<" en 
dergelijke, daarom wordt het dus ge-escaped, ongeacht welke characterset je 
gebruikt.

-- 
Nicolas Barbier
Re: python en xml
#5918
Author: Benoit Liessens
Date: Sun, 16 Feb 2003 18:03
38 lines
2311 bytes
Benoit Liessens <benoit.liessens@gmx.net> schreef in berichtnieuws
b25tse$1bd$1@news.worldonline.be...
> Ik ben in python een cd-databaseje aan 't maken. Alles wordt in xml
> opgeslagen:
>
> vb:
> <? xml version="1.0" ..?>
> <cdcollection>
> <cd artist="arno" album="best of">
>     <track nr="1">putain putain</track>
>     ....
> </cd>
> <cd ...> etc. </cd>
> </cdcollection>
>
> Ik gebruik de xml.dom.minidom implementatie om dit object van
> Document()-type naar een file weg te schrijven.
> Bij het inlezen heb ik echter problemen: characters als '&' en '<' worden
> resp. naar '&amp;' en '&lt;' omgezet in de file maar '�' blijft '�' in de
> output file. Net die '�' en ook '�' genereren errors bij het parsen van de
> file naar een DOM-structuur: errors i.v.m."UTF-8". Hoe kan ik dit omlossen
?
>
> Ten tweede : De xml-tags heb ik zelf gedefinieerd (<track> <cd> etc..)
maar
> ik heb geen DTD gedefinieerd. Is zo'n DTD nodig om de xml-file terug in te
> lezen naar een object van het Document()-type?
>
> Kan iemand mij een beetje wegwijs maken in dit doolhof van classes en
> packages?
>
Eureka !

xml.dom.ext.Print(docroot, stream, encoding) en
xml.dom.ext.PrettyPrint(docroot,stream,encoding)

Benoit
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads