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

Langages Discussion :

Creer un fichier XML avec InnerXML et C#


Sujet :

Langages

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 218
    Points : 85
    Points
    85
    Par défaut Creer un fichier XML avec InnerXML et C#
    Bonjour a tous

    je suis nouveau a C# et XML.

    J'essaye de creer un fichier xml base sur la chaine suivante ( c'est un string):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <payment><emplid>772</emplid><emplrcd>0</emplrcd><deptid>837</deptid><erncd>COM</erncd><amount>1165.66</amount></payment>
    pour ce faire, j utilise le code suivant en considerant que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dts.Variables["User::XMLData"].Value.ToString() = <payment><emplid>772</emplid><emplrcd>0</emplrcd><deptid>837</deptid><erncd>COM</erncd><amount>1165.66</amount></payment>
    Ca donne ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                      System.Xml.XmlDocument xdoc = new System.Xml.XmlDocument();
                      xdoc.InnerXml = Dts.Variables["User::XMLData"].Value.ToString();
                      xdoc.Save(@Dts.Variables["$Project::Local_Outgoing_Folder"].Value.ToString() "
    Mon probleme c'est que lorsque je fais ca, le fichier possede des tags <ROOT> au debut et </ROOT> a la fin qui ne sont pas dans ma chaine initiale.


    Y a t il un moyen d'enlever ce tag?
    Merci

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Ce n'est pas très clair... on ne trouve pas tous les éléments importants. Mais je pense qu'il est lié à l'écriture de la requête sql. Si la requête y contient une clause de For XML raw/auto/... suivi des options comme root ou root('ROOT') et elements etc, il vous faut supprimer cette partie de root. Regardez-y de plus près, qu'est-ce vous trouvez là ?

  3. #3
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Mon probleme c'est que lorsque je fais ca, le fichier possede des tags <ROOT> au debut et </ROOT> a la fin qui ne sont pas dans ma chaine initiale.
    Bien évidemment! Tu crées un nouvel objet avec System.Xml.XmlDocument xdoc = new System.Xml.XmlDocument();, puis ensuite tu renseignes la propriété innerXml. Il faudrait te demander innerXml de quoi?
    Un document XML a un élément racine, toujours, par défaut, quoi qu'il se passe. Or ce que tu lui demandes en écrivant xdoc.InnerXml = Dts.Variables["User::XMLData"].Value.ToString(); c'est d'insérer Dts.Variables["User::XMLData"].Value.ToString() dans cet élément racine (innerXml =~ XML à l'intérieur). L'élément racine n'ayant pas été nommé, il est appelé ROOT (=racine en anglais) par défaut et englobera ce que tu tentes de lui insérer.
    Donc la question n'est pas d'enlever l'élément ROOT, mais comment obtenir payment comme racine de ton objet XmlDocument.
    Pour ce faire, c'est clairement décrit dans la documentation.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 218
    Points : 85
    Points
    85
    Par défaut
    Merci beaucoup...
    J'ai finalement fait autrement en utilisant la classe XmlTextWriter. Ca me paraissait plus simple et j'avais plus de controle.
    Mais je vais regarder la documentation de suite...

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

Discussions similaires

  1. comment creer un fichier xml avec matlab
    Par jassem dans le forum MATLAB
    Réponses: 4
    Dernier message: 10/05/2013, 17h38
  2. Réponses: 6
    Dernier message: 24/04/2012, 13h53
  3. [JDOM] creer un fichier XML avec plus d'un objet
    Par palpy dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 02/06/2008, 15h10
  4. Modification de fichier XML avec XSLT
    Par osmoz dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 13/07/2005, 11h04
  5. [DOM] [Débutant(e)] Modifier un fichier XML avec DOM
    Par macks dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 05/07/2005, 14h13

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