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 :

Problème avec Delphi-XML


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 39
    Points : 25
    Points
    25
    Par défaut Problème avec Delphi-XML
    Bonjour,
    Je suis en Delphi 7 et je commence à programmer pour faire un Fichier XML
    Le code Delphi ne plante pas, il m'enregistre bien le fichier XML mais lorsque je le lance avec IE il y a un message d'erreur qui m'indique que le fichier ne peut pas etre affiché et ansuite :

    Attribut dupliqué. Erreur de traitement de la ressource file:///C:/Users/Raguin/Desktop/Copie de DAE.xml. Ligne 2, Positio...

    <DFRCD801A xmlns="http://gamma.douane.finances.gouv.fr/dfr/dfr801" xmlns="http://fr.gouv.finances.douane.gamma/types">

    Je vous mets le code Delphi que j'éxécute :
    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
     
    procedure TFicheAcquit.GAMMA1Click(Sender: TObject);
    var
      Body, SubmittedDraftOfEaad, Circulation : IXMLNode;  
    begin
      memo1.Clear;
      XMLdoc.Version := '1.0';
      XMLdoc.Encoding := 'ISO-8859-1';
      XMLdoc.StandAlone:= 'yes';
      XMLDoc.DocumentElement := XMLDoc.CreateElement('DFRCD801 A','http://gamma.douane.finances.gouv.fr/dfr/dfr801" xmlns="http://fr.gouv.finances.douane.gamma/types');
      Body := XMLDoc.DocumentElement.AddChild('Body');
      SubmittedDraftOfEaad := Body.AddChild('SubmittedDraftOfEaad');
      Circulation := SubmittedDraftOfEaad.AddChild('Circulation');
      Circulation.Attributes['TypeCirc1'] := 'N';
      memo1.Lines.Assign(XMLDoc.XML);
     XMLDoc.SaveToFile('C:\Users\raguin\Desktop\Copie de DAE.xml');
    end;
    Merci d'avance

  2. #2
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 288
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 288
    Points : 1 936
    Points
    1 936
    Par défaut
    - le nom de la première balise est incorrect (caractère espace).
    - dans le namespace (pour le CreateElement) ,tu essaie d'ajouter un deuxième namespace (xmlns)

    Normalement, tu as un erreur d'exécution pour la première erreur.
    Pour la seconde c'est à l'ouverture du fichier XML.

    En corrigeant ces deux problèmes, cela fonctionne.
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2014

  3. #3
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    Si tjrs pas résolu, il serait bien aussi de nous montrer le fichier XML résultat que tu essaies de lire sans succès.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 39
    Points : 25
    Points
    25
    Par défaut
    bonjour,
    j'ai avancé sur mon fichier XML mais il me reste plus qu'une petite chose a faire.

    il faut que j'obtienne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
    - <ie:DFRCD815A xmlns:tms="http://emcs.dgtaxud.ec/v10/tms" xmlns:fr="http://fr.gouv.finances.douane.gamma/types" xmlns:ie="http://gamma.douane.finances.gouv.fr/dfr/dfr815" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    - <ie:Body>
    .........
    ........
    Mais voila, je sais pas faire, voici ce que j'ai fait en delphi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      XMLdoc.Version := '1.0';
      XMLdoc.Encoding := 'UTF-8';
      XMLdoc.StandAlone:= 'yes';
       XMLDoc.DocumentElement := XMLDoc.CreateElement('ie:CD815A','http://emcs.dgtaxud.ec/v10/tms');
      Body := XMLDoc.DocumentElement.AddChild('Body');
    Mon souci est dans le xmldoc.DocumenElement:= XMLDoc.CreateElement('ie:CD815A','http://emcs.dgtaxud.ec/v10/tms') ou il manque des informations

    Merci de m'avancer sur le sujet.

    cordialement

  5. #5
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 288
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 288
    Points : 1 936
    Points
    1 936
    Par défaut
    Au pire tu peux utiliser, ce n'est pas très propre, mais fonctionnel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    XMLDoc.DocumentElement.SetAttribute("xmlns:fr","http://fr.gouv.finances.douane.gamma/types");
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2014

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 39
    Points : 25
    Points
    25
    Par défaut
    je comprends pas ce que tu veux que je fasse !!!!

  7. #7
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 288
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 288
    Points : 1 936
    Points
    1 936
    Par défaut
    Syntaxiquement, les namespaces s'écrivent comme les attributs (ou presque), donc je te propose d'utiliser une méthode pour les attributs pour affecter un namespace.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    XMLDoc.DocumentElement.SetAttribute('xmlns:fr','http://fr.gouv.finances.douane.gamma/types');
    XMLDoc.DocumentElement.SetAttribute('xmlns:tms','http://emcs.dgtaxud.ec/v10/tms');
    XMLDoc.DocumentElement.SetAttribute('xmlns:ie','http://gamma.douane.finances.gouv.fr/dfr/dfr815');
    XMLDoc.DocumentElement.SetAttribute('xmlns:xsi',''http://www.w3.org/2001/XMLSchema-instance');
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2014

  8. #8
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 39
    Points : 25
    Points
    25
    Par défaut
    Merci ca marche

    je donne juste la syntaxe complète :
    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
     
      XMLdoc.Version := '1.0';
      XMLdoc.Encoding := 'UTF-8';
      XMLdoc.StandAlone:= 'yes';
     
      XMLDoc.DocumentElement := XMLDoc.CreateElement('ie:CD815A','');
     
      XMLDoc.DocumentElement.SetAttribute('xmlns:fr','http://fr.gouv.finances.douane.gamma/types');
      XMLDoc.DocumentElement.SetAttribute('xmlns:tms','http://emcs.dgtaxud.ec/v10/tms');
      XMLDoc.DocumentElement.SetAttribute('xmlns:ie','http://gamma.douane.finances.gouv.fr/dfr/dfr815');
      XMLDoc.DocumentElement.SetAttribute('xmlns:xsi','http://www.w3.org/2001/XMLSchema-instance');
     
      Body := XMLDoc.DocumentElement.AddChild('Body');
     ..........
     ..........

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

Discussions similaires

  1. Problème avec Delphi (rtl90.bpl)
    Par fouad93290 dans le forum Delphi
    Réponses: 5
    Dernier message: 09/01/2007, 12h43
  2. Problème avec validator.xml
    Par ahury dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/12/2006, 18h38
  3. Problème avec le xml microsoft
    Par stefma dans le forum Excel
    Réponses: 4
    Dernier message: 08/12/2006, 16h43
  4. [XML] [EXPAT] Problème avec Parseur XML
    Par tubeless dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 09/02/2006, 10h52
  5. [Tomcat] Problème avec web.xml
    Par hichamus dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 01/03/2005, 17h57

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