IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[XML][DOM] lecture caractères étrangers [Trucs & Astuces]


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2003
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 91
    Points : 95
    Points
    95
    Par défaut [XML][DOM] lecture caractères étrangers
    Bonjour,

    Depuis mon post de toute à l'heure j'ai beaucoup avancé.
    OBJECTIF : afficher dans un label du texte thai contenu dans un fichier xml.

    J'arrive bien à mettre du thai dans mon label depuis l'éditeur graphique avec une saisie du thai par mon clavier.(charset=222 et font=tahoma).

    J'arrive à crée un xml qui contient l'en tête d'encodage en thai et à l'ouvrir dans IE.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="iso-8859-11"?>
    Par contre quand j'ouvre mon xml avec DOM il me renvoie des ??? à la place des caractères et donc quand j'alimente le texte de mon label à partir du résultat de la lecture de la balise j'ai des ?.

    Pour récupérer le texte de ma balise j'ai fais cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Function chargeTextesXML(groupe As String, balise As String) As String
        Dim xmlDoc As New MSXML2.DOMDocument
        Dim xmlLog As MSXML2.IXMLDOMElement
        Dim retour As String
        '
        'charge le fichier xml à ouvrir
        If xmlDoc.Load(App.Path & "\Langue\textes.xml") = True Then
            'on récupère la valeur des 2 balises bluetooth
            Set xmlLog = xmlDoc.getElementsByTagName(groupe)(0)
            retour = xmlLog.selectSingleNode(balise).Text
        Else
            retour = ""
        End If
        chargeTextesXML = retour
    End Function
    puis pour alimenter mon label via la fonction de lecture du XML je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monLabel.caption = chargeTextesXML("monNoeud", "maBalise")
    Merci d'avance pour toute aide

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2003
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 91
    Points : 95
    Points
    95
    Par défaut
    La recherche ca paye....

    Voilà un Mini Tutorial qui peut dépanner pour l'utilisation des caractères étrangers.

    1- création du fichier Thai.xml via le bloc note sans l'en tête d'encoding (cf code ci-dessous). Enregistrement en unicode.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <Noeud>
      <LaBalise>ฟหกด</LaBalise> 
    </Noeud>
    2- ajout sur le panneau d'un label de type forms 2.0 [cette précision est très importante car les labels du type 1.0 ne prennent pas le thai]

    3- fonction de lecture du fichier xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Function chargeTextesXML(groupe As String, balise As String) As String
        Dim xmlDoc As New MSXML2.DOMDocument
        Dim xmlLog As MSXML2.IXMLDOMElement
        Dim xml As MSXML2.IXMLDOMCharacterData
        Dim retour As String
        '
        'charge le fichier xml à ouvrir
        If xmlDoc.Load(App.Path & "\thai.xml") = True Then
            'on récupère la valeur de la balise 
            Set xmlLog = xmlDoc.getElementsByTagName(groupe)(0)
            retour = xmlLog.selectSingleNode(balise).Text
        Else
            retour = ""
        End If
        chargeTextesXML = retour
    End Function
    4- alimentation de mon label [font=tahoma charset=222]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Label2.Caption = chargeTextesXML("Noeud", "LaBalise")

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2003
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 91
    Points : 95
    Points
    95
    Par défaut
    Pour le même prix je vous donne aussi la solution pour afficher les caractères thai depuis un fichier texte.

    1- création dans le bloc note du fichier texte contenant des caractères thai et enregistrement en unicode

    2- lecture du fichier avec la fonction suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Function donneTexte() As String
        Dim FSO As New FileSystemObject
        Dim fic As File
        Dim TS As TextStream
        Dim retour As String
        '
        Set fic = FSO.GetFile(App.Path & "\thai.txt")
        Set TS = fic.OpenAsTextStream()
        retour = TS.ReadAll
        TS.Close
        donneTexte = StrConv(retour, vbFromUnicode)
    End Function
    3- afichage du texte dans mon label (font=tahoma charset=222)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Label2.Caption = donneTexte

  4. #4
    Membre expert
    Avatar de khany
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 073
    Points : 3 890
    Points
    3 890
    Par défaut
    Si tu veux ajouter des exemples de codes, tu peux toujours compléter ici :

    http://khany.developpez.com/tutoriel/xml/

    avant de poster FAQ VB - Page sources VB - Cours VB

    Mes tutoriels : VB - VB.NET et ASP.NET

    N'oubliez pas Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM] Lecture d'un fichier XML en url en PHP
    Par diakite4 dans le forum Bibliothèques et frameworks
    Réponses: 11
    Dernier message: 21/05/2008, 16h31
  2. Réponses: 3
    Dernier message: 03/03/2008, 09h43
  3. [XML][DOM][ZIP] Problème de lecture dans un zip
    Par gocin dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 04/04/2007, 11h41
  4. [DOM] lecture d'un xml en javascript avec la DOM XML
    Par tetardo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/03/2007, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo