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 :

Problème Utilisation XmlWriter


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Par défaut Problème Utilisation XmlWriter
    Salut à tous,

    j'ai écris ce petit bout de code :

    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
    XmlReader reader = XmlReader.Create("ExportFileEmpty.xml");
    reader.ReadToFollowing("Document");
    XmlWriter writer = XmlWriter.Create("Export.xml");
    writer.WriteNode(reader, true);
    writer.Flush();
    writer.Close();
     
     XmlDocument document = new XmlDocument();
     document.Load("Export.xml");
     XPathNavigator navigator = document.CreateNavigator();
     
    navigator.MoveToChild("Document", ns);
    navigator.MoveToChild("Project",ns);
    navigator.MoveToChild("ObjectList", ns);
     
     
    XmlWriter NewWriter = navigator.InsertAfter();
    NewWriter.WriteStartElement("Hmi.Globalization.MultiLingualGraphic");
    NewWriter.WriteEndElement();
    NewWriter.Flush();
    NewWriter.Close();
    Savez vous pourquoi l'élément "Hmi.Globalization.MultiLingualGraphic" ne s'insère pas après "ObjectList".

    Merci.

  2. #2
    Membre Expert Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Par défaut
    C'est un peu fouilli ton code.
    Tu utilises XmlWriter, XmlReader, XmlDocument, ...
    En general on utilise OU le couple XmlWriter/XmlReader OU XmlDocument

    Bref, ton probleme est peut etre parceque tu ne fais pas de NewWriter.WriteValue(xxx); entre le WriteStartElement et le WriteEndElement.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Par défaut Quelques explications sup
    Je sais, lol, quelques explications pourront peut être apporté d'autres idées :

    En fait, je recopie l'ensemble d'un document avec XmlReader et Xmlwriter :

    XmlReader reader = XmlReader.Create("ExportFileEmpty.xml");
    reader.ReadToFollowing("Document");
    XmlWriter writer = XmlWriter.Create("Export.xml");
    writer.WriteNode(reader, true);
    writer.Flush();
    writer.Close();

    Ensuite, je cherche à insérer un noeud en fonction de la valeur d'une variable, c'est pourquoi j'utilise :

    XmlDocument document = new XmlDocument();
    document.Load("Export.xml");
    XPathNavigator navigator = document.CreateNavigator();

    navigator.MoveToChild("Document", ns);
    navigator.MoveToChild("Project",ns);
    navigator.MoveToChild("ObjectList", ns);

    XmlWriter NewWriter = navigator.InsertAfter();
    NewWriter.WriteStartElement("Hmi.Globalization.MultiLingualGraphic");
    NewWriter.WriteEndElement();
    NewWriter.Flush();
    NewWriter.Close();

    Ceci devrait me permettre :
    1. Ouvrir le document créer (utilisation de xmlDocument)
    2. Aller me positionner à l'endroit où je veux insérer mon noeud (Utilisation de XPathNavigator)
    3. Insérer le noeud (Utilisation de XmlWriter)

    De plus, j'ai essayer NewWriter.WriteValue et rien ne change.

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 34
    Par défaut
    bonjour,

    Donne nous une partie de ton fichier xml ou tu veux inserer ton noeud pour qu'on puisse t'aider plus rapidement et n'oublie pas la balise [code] pour que ça soit lisible.

    merci

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Par défaut
    voila une parite du fichier "export.xml" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?xml version="1.0" encoding="utf-8"?>
    <Document xmlns="" PartialAttributes="true" PartialLinks="true" PartialObjects="true">
      <DocumentInfo ComputerName="..." FormatVersion="0.01" Created="2008-07-17T09:11:20" UserName="..." />
      <Project Name="Project" ID="11">
        <ObjectList><!--je voudrais insérer mon élement juste aprés ce noeud-->
          <Device AggregationName="Devices" ID="12">
          </Device>
        </ObjectList>
      </Project>
    </Document>

  6. #6
    Membre Expert Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Par défaut
    Si ton fichier XML est un petit fichier (Que tu peux charger entierement en memoire sans probleme), je te conseil de n'utiliser que XmlDocument, c'est plus simple pour ce genre de travail...
    Certaines personnes te diront : G.E.T.A. (Google Est Ton Ami)

Discussions similaires

  1. Problème utilisation DLL
    Par Tub-95 dans le forum MFC
    Réponses: 4
    Dernier message: 02/11/2005, 12h00
  2. [Tomcat][Spring] Problème utilisation mémoire
    Par Wutintin dans le forum Hibernate
    Réponses: 12
    Dernier message: 08/09/2005, 14h57
  3. [JSTL] [EL] Problème utilisation <c:out>
    Par XavierL dans le forum Taglibs
    Réponses: 7
    Dernier message: 14/08/2005, 20h12
  4. (Problème) Utilisation de l'API mySQL [Delphi 2005 Perso]
    Par will-scs dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/08/2005, 18h26
  5. [JAR]Problème utilisation manifest et jar
    Par doudine dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 07/01/2005, 10h21

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