Page 1 sur 1

Problèmes de caractères avec un fichier XML

Publié : mer. 14/nov./2007 20:44
par lionel_om
Bonjour,

Je n'arrive pas à lire correctement mon fichier XML. Lorsque je veux extraire des Strings, les caractères accentués sont déformés. J'ai mis en en-tête dans mon fichier XML que j'utilise un encodage en ISO pourtant, et je force la lecture du fichier XML en utilisant la directive #PB_ASCII.

Voilà mon fichier XML :

Code : Tout sélectionner

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<parameters version="1.11 beta">
	<configuration>
		<groups>
			<group name="Games" url="E:\Mes documents\Mes Images\Arrières plan\Autres\">
				<ban>E:\Mes documents\Mes Images\Arrières plan\Autres\Wallpaper Gold.JPG</ban>
			</group>
			<group name="Sweden" url="E:\Mes documents\Mes Images\Photos\2007\12 - Göteborg\wallpapers.txt">
			</group>
			<group name="Copenhague" url="E:\Mes documents\Mes Images\Photos\2007\12 - Göteborg\28 - Copenhague\">
			</group>
		</groups>
	</configuration>
</parameters>
Le programme que j'utilise pour lire le fichier est le suivant :

Code : Tout sélectionner

File$ = "fichier.xml"


Procedure XMLNodeFromPathSafe(*NodeXML, Path$, Exit=#True)
  Protected *NewNode
  *NewNode = XMLNodeFromPath(*NodeXML, Path$)
  If *NewNode = #Null And Exit
    MessageRequester("This node doesn't exist : '"+Path$+"'", "", #MB_ICONWARNING)
    End
  EndIf
  ProcedureReturn *NewNode
EndProcedure




hXML = LoadXML(#PB_Any, File$, #PB_Ascii)
If hXML
  *mainNode = MainXMLNode(hXML)
  If *mainNode
    *confNode = XMLNodeFromPathSafe(*mainNode, "configuration/")
    If *confNode
      
      *groupsNode = XMLNodeFromPathSafe(*confNode, "groups/")
      *groupNode = XMLNodeFromPath(*groupsNode, "group/")
      If *groupNode
        While *groupNode And GetXMLNodeName(*groupNode) = "group"
          a$ =GetXMLAttribute(*groupNode, "url")
          Debug a$
          *groupNode = NextXMLNode(*groupNode)
        Wend
      EndIf
    EndIf
  EndIf
EndIf
Merci de votre aide
Lio

Publié : mer. 14/nov./2007 21:03
par Dr. Dri
t'as essayé en unicode ( utf-8 ) ?

Dri

Publié : mer. 14/nov./2007 21:06
par lionel_om
J'ai fait n'importe quoi, j'ai changé les types d'encodage sur le mauvais fichier :?
Donc oui UTF-8 marche bien, alors que ça ne marchait pas correctement avant, avec la version beta de PB !

Lio :)

Publié : jeu. 15/nov./2007 14:44
par brossden
Chez moi ton soft fonctionne parfaitement je ne vois pas ce qui te Chagrine !

Publié : jeu. 15/nov./2007 17:39
par lionel_om
C'est le fait d'être passé à la version finale de PB ou d'avoir compilé le fichier en Unicode qui a introduit les problèmes. Mais c'est résolu maintenant !

Lio :wink: