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

C# Discussion :

Créer fichier XML avec Linq to XML


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Par défaut Créer fichier XML avec Linq to XML
    Bonjour,

    Je dois créer un xml avec le format suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?soxtype urn:x-commerceone:document:com:commerceone:XCBL30:XCBL30.sox$1.0?>
    <OrderResponse>
    ....
    </OrderResponse>
    La première ligne <?soxtype urn-commerceone:document:com:commerceone:XCBL30:XCBL30.sox$1.0?> n'est pas un élément XML

    je ne vois pas comment je peux créer avec Linq to XML

    Avez-vous une idée ?

    Merci par avance.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Par défaut
    En fouillant un peu je n'ai rien trouvé à ce sujet...
    Est-ce que tu peux rouvrir ton fichier et ajouter cette ligne au début après l'avoir sauvegardé ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Par défaut
    merci lead8209,

    Mon but est d'éviter de rouvrir le fichier après la création, je vais devoir faire ça au pire.

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Bonjour,

    Il y a un moyen :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    XDocument doc =
          new XDocument(
                  new XProcessingInstruction("soxtype", "urn:x-commerceone:document:com:commerceone:XCBL30:XCBL30.sox$1.0"),
                  new XElement("OrderResponse"));
    Attention en revanche lors de l'enregistrement du document si tu veux éviter qu'il ajoute la déclaration xml par défaut. Il ne faudra pas utiliser la méthode Save avec un nom de fichier mais avec un XmlWriter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    XmlWriterSettings xmlSettings = new XmlWriterSettings { OmitXmlDeclaration = true, Indent = true };
    using (XmlWriter writer = XmlWriter.Create(targetFile, xmlSettings))
       doc.Save(writer);

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Par défaut
    Trouvé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    XDocument doc = new XDocument();
    doc.Add(new XProcessingInstruction("soxtype" , "urn:x-commerceone:document:com:commerceone:XCBL30:XCBL30.sox$1.0"));
    en ouvrant le doc et en regardant le type de noeud que cela représente on trouve comment l'ajouter


    EDIT : Grrr devancé

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Par défaut
    C'est parfait, merci beaucoup ebastien et lead8209, vous êtes champions

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

Discussions similaires

  1. Linq To XML avec silverlight ajouter un noeud
    Par maxxou dans le forum Silverlight
    Réponses: 7
    Dernier message: 22/11/2012, 15h42
  2. Réponses: 9
    Dernier message: 12/11/2010, 06h17
  3. remove avec linq to xml
    Par trouffiondesiles dans le forum Silverlight
    Réponses: 4
    Dernier message: 10/10/2010, 19h53
  4. Réponses: 2
    Dernier message: 30/09/2009, 16h43
  5. [PHP-JS] Ecrire un fichier xml avec un string XML
    Par bobic dans le forum Langage
    Réponses: 1
    Dernier message: 22/12/2006, 14h18

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