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 :

[XML] C# le XML et les attributs


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 31
    Points : 15
    Points
    15
    Par défaut [XML] C# le XML et les attributs
    Bonjour.

    Je cherche a generer un bout de XML pourtant simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <TABTauxTVA>
      <TauxTVA idx="0"  > toto </TauxTVA >
      <TauxTVA idx="1"  > titi </TauxTVA >
      </TABTauxTVA>
    Je me suis prise de la façon 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
     
     XmlTextWriter myXmlTextWriter = new XmlTextWriter("nouveauxlivres.xml", null);
                myXmlTextWriter.Formatting = Formatting.Indented;
                myXmlTextWriter.WriteStartDocument(false);
     
              myXmlTextWriter.WriteStartElement("TABTauxTVA", null);
                myXmlTextWriter.WriteStartElement("TauxTVA"); 
                myXmlTextWriter.WriteAttributeString("idx", "0", "toto");
                myXmlTextWriter.WriteAttributeString("idx", "1", "titi");
     
     
                //myXmlTextWriter.WriteAttributeString("idx", "0");
                myXmlTextWriter.WriteEndElement();
                myXmlTextWriter.WriteEndElement();
     
     myXmlTextWriter.Flush();
                myXmlTextWriter.Close();
    Le resultat n'est pas vraiment ce que je cherchais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    - <TABTauxTVA>
      <TauxTVA d4p1:idx="toto" d4p2:idx="titi" xmlns:d4p2="1" xmlns:d4p1="0" /> 
      </TABTauxTVA>

    J'ai beaucoup retourner mes 4 balises dans tous les sens, je ne trouve pas la solution miracle.

    Toute aide serai précieuse, merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 65
    Points : 44
    Points
    44
    Par défaut
    Ou tu peux juste creer ton Xml dans un string et apres l'enregistrer en tant que fichier XML.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    string strxml = "<bla>toto</bla>";
    XmlDocument MyXml= new XmlDocument();
    MyXml.LoadXml(strxml );
    MyXml.Save(PATH);
    ou

    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
    try
                {
                    if (File.Exists(Path))
                        File.Delete(Path);
                    FileStream file = new FileStream(Path, FileMode.OpenOrCreate, FileAccess.Write);
     
                    if (file.CanWrite)
                    {
                        StreamWriter FileWrite = new StreamWriter(file,Encoding.UTF8);
                        FileWrite.Write(content);
                        FileWrite.Flush();
                        FileWrite.Close();
                        FileWrite.Dispose();
                    }
                    file.Close();
     
                    file.Dispose();
                }
                catch

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 31
    Points : 15
    Points
    15
    Par défaut
    Le fichier va etre enorme avec beaucoup beaucoup de données, ca serai anti performant.

    J'ai tout ce qu'il me faut sauf les elements avec attribut et valeur, pourtant ca doit etre faisable

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 65
    Points : 44
    Points
    44
    Par défaut
    Dans tous les cas ca sera "anti performant".
    Load un fichier de 30000lignes ca met moins de 1 sec !

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 31
    Points : 15
    Points
    15
    Par défaut
    J'ai actuellement 380 000 commandes avec 12 lignes commandes en moyennes.

    soit plus de 3 millions de "ligne" a savoir que chaque commande a 89 elements dans le XML.

    Donc non je ne veux pas faire du += a la main dans mon code, je voudrai juste generer un XML propre

  6. #6
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Tout simplement avec
    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
    XmlTextWriter myXmlTextWriter = new XmlTextWriter("c:\\nouveauxlivres.xml", Encoding.UTF8);
    myXmlTextWriter.Formatting = Formatting.Indented;
     
    myXmlTextWriter.WriteStartDocument();
    myXmlTextWriter.WriteStartElement("TABTauxTVA");
     
    myXmlTextWriter.WriteStartElement("TauxTVA");
    myXmlTextWriter.WriteAttributeString("idx", null, "0");
    myXmlTextWriter.WriteString("toto");
    myXmlTextWriter.WriteEndElement();
     
    myXmlTextWriter.WriteStartElement("TauxTVA");
    myXmlTextWriter.WriteAttributeString("idx", null, "1");
    myXmlTextWriter.WriteString("titi");
    myXmlTextWriter.WriteEndElement();
     
    myXmlTextWriter.WriteEndElement();
     
    myXmlTextWriter.Flush();
    myXmlTextWriter.Close();
    Pas de questions techniques par MP

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 31
    Points : 15
    Points
    15
    Par défaut
    Ha genial, merci beaucoup

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

Discussions similaires

  1. Comment lire les "Attributes" en XML ?
    Par [ZiP] dans le forum Delphi
    Réponses: 6
    Dernier message: 13/03/2007, 14h33
  2. lister les attributs d'un noeud XML
    Par wapok dans le forum Delphi
    Réponses: 3
    Dernier message: 30/12/2006, 02h16
  3. Réponses: 1
    Dernier message: 01/07/2006, 11h18
  4. Réponses: 2
    Dernier message: 14/06/2006, 10h34
  5. Réponses: 3
    Dernier message: 01/04/2005, 09h37

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