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 :

Requete SQL pour de l'xml.


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 92
    Par défaut Requete SQL pour de l'xml.
    Bonjour,

    y a t il moyen de faire une requete SQL sur un fichier XML ?
    Genre "Update Table set Total = Sum(prix * Qt)" ?

    Merci

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    non
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 92
    Par défaut
    ok.
    Alors comment peut-on mettre a jour une donnée précise ?
    ex :

    xml :
    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
    22
    23
     
    - <Doc>
    - <Factures>
      <QtTotal /> 
      <Numero>1</Numero> 
    - <Items>
      <Qt>3</Qt> 
      </Items>
    - <Items>
      <Qt>2</Qt> 
      </Items>
      </Factures>
    - <Factures>
      <QtTotal /> 
      <Numero>2</Numero> 
    - <Items>
      <Qt>1</Qt> 
      </Items>
    - <Items>
      <Qt>2</Qt> 
      </Items>
      </Factures>
      </Doc>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
                XPathDocument XDoc = new XPathDocument("test.xml");
                XPathNavigator Nav = XDoc.CreateNavigator();
                XPathNodeIterator Factures = Nav.Select("/Doc/Factures");
                Double Tot = 0;
     
                foreach (XPathNavigator Facture in Factures) 
                {
                    Tot = Convert.ToDouble(Facture.Evaluate("sum(Items/Qt)"));
                    Facture.MoveToNamespace("QtTotal");
                    //Ici je voudrais mettre a jour QT total par facture
                }

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 92
    Par défaut
    ok.. trouvé.

    Pour ceux qui cherche voila la solution
    Xpath ne fait que lire l'xml tandis que XDocument peut ecrire, modifer.

    VOila la solution a mon probl :

    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
     
                String CFile = "C:/test.xml";
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(CFile);
                XPathNavigator Nav = xmlDoc.CreateNavigator();
     
                XPathNodeIterator Factures = Nav.Select("/Doc/Factures");
                Double Tot = 0;
                foreach (XPathNavigator Facture in Factures)
                {
                    Tot = Convert.ToDouble(Facture.Evaluate("sum(Items/Qt)"));
                    Facture.MoveToChild("Total","");
                    Facture.SetValue(Tot.ToString());
                }
                xmlDoc.Save(CFile);

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

Discussions similaires

  1. variable dans requete SQL pour delphi
    Par socooooool dans le forum Bases de données
    Réponses: 9
    Dernier message: 25/01/2013, 11h27
  2. requete sql pour bd access97 a tables multiples
    Par waspy59 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 16/03/2006, 00h11
  3. requete sql pour faire un classement
    Par beezee dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/03/2006, 13h03
  4. Requete sql pour création de table dans une base access
    Par Ben156 dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/01/2006, 22h12
  5. Requete SQL pour Access
    Par heraieros dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 13/01/2006, 14h15

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