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

 Delphi Discussion :

XML, IXMLDocument et expert de liaison de données XML


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut XML, IXMLDocument et expert de liaison de données XML
    Je suis en train d'éplucher le tuto de Big sur le XML et l'emploi de celui-ci avec l'expert de liaison.
    Je suis confronté à un (plusieurs?) problème.
    J'ai généré un gpx.pas à l'aide de l'expert de liaison sur base du schéma gpx situé ici:

    La proc que j'utilise, calquée sur le tuto de Big est la suivante:
    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
    18
    19
    20
    21
    22
     
    procedure TForm1.Button2Click(Sender: TObject);
    var  GpxDoc: IXMLGpxType;
         XmlFile: IXMLDocument;
         File2: Txmldocument;
         i : integer;
     
    begin
     
        XmlFile.LoadFromFile('D:\MesDocs\RAD Studio\Projets\Trial\loop.xml');
        showmessage('loaded');
        xmlfile.active:=true;
        showmessage('active');
        Gpxdoc:=getgpx(xmlfile);
        showmessage('Interfaced');
        Memo1.Lines.Clear;
        for i := 0 to gpxdoc.Wpt.Count -1 do begin
          memo1.lines.Add(gpxdoc.Wpt.Items[i].Desc) ;
        end;
     
     
    end;
    Le LoadfromFile ne passe même pas: violation d'accès.
    J'ai pensé à un problème de création mais je ne trouve pas de méthode constructeur pour IXMLDocument.

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    J'ai tout repris pour être certain de ne pas faire d'âneries...
    sous RAD 2007:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
        gpx: ixmlgpxtype;
     
    begin
        XMLDoc.filename:='blablablabla';
        gpx := getgpx(XMLDoc);
     
    end;
    2 problèmes: XMLDoc ne possède pas de propriété filename.
    getgpx(XMLDoc) -> apparemment l'EDI attend je que je lui donne un subset de XMLDoc.

    Je fais pourtant strictement ce qu'il y a dans le tuto ...

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    J'ai encore progressé et je comprends à présent que le problème vient de la génération automatique du code depuis le XSD.

    Si je pars d'un GPX (fichier basé sur XML, respectant ce même format GPX 1.1), je peux parser ce fichier (manquerait plus que ça) mais d'autres fichiers GPX trouvés sur le site de référence également.

    Donc il y a un truc qui coince avec le XSD ou avec l'expoert de liaison de données XML.

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/07/2009, 10h28
  2. Réponses: 5
    Dernier message: 25/04/2007, 11h34
  3. l'expert Liaison de données XML
    Par LN(a) dans le forum Delphi
    Réponses: 1
    Dernier message: 01/12/2006, 18h15
  4. pb Expert liaison de données XML
    Par gudul dans le forum Delphi
    Réponses: 3
    Dernier message: 14/08/2006, 00h47
  5. Où est l'Expert Liaison de données XML [BCB6]
    Par Colloc dans le forum C++Builder
    Réponses: 3
    Dernier message: 21/02/2005, 14h33

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