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

APIs XML Discussion :

[DOM][.NET] Générer xml automatiquement


Sujet :

APIs XML

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 80
    Points : 38
    Points
    38
    Par défaut [DOM][.NET] Générer xml automatiquement
    Bonjour à tous,

    je voudrais créer un album photo en flash qui va lire des images à partir de leur lien dans un fichier xml. Seulement, par là suite, cette galerie sera administrée par un non-informaticien.
    Je voudrais remplir automatiquement le xml chaque fois que la personne ajoutera une image dans le dossier. Est-ce possible ?
    Et si oui, comment procéder ?
    Je travaille sur un serveur avec sharepoint, donc avec une technologie asp.net.

  2. #2
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Il ne peut pas y avoir de mise à jour automatique à chaque dépôt dans un répertoire : il faut un programme lisant régulièrement le répertoire (toutes les secondes par exemple) pour construire le XML en question.

    Lire le contenu d'un répertoire et de ses sous-répertoires et construire un XML pour le représenter n'est pas bien difficile avec .Net.

    Voici un extrait de code en vrac et en C# :
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
              FileInfo folderFile = new FileInfo(n.Attributes.GetNamedItem("filename").Value.Replace('/', '\\'));
              XmlNode result = n.OwnerDocument.CreateElement("txs", "folder", "http://sourceforge.net/projects/txs");
              XmlAttribute aname = n.OwnerDocument.CreateAttribute("name");
              aname.Value = folderFile.Name;
              result.Attributes.SetNamedItem(aname);
              XmlAttribute afname = n.OwnerDocument.CreateAttribute("fullname");
              afname.Value = folderFile.FullName.Replace('\\', '/');
              result.Attributes.SetNamedItem(afname);
              String f = folderFile.ToString();
              int l = f.Length + 1;
              String exts = "," + n.Attributes.GetNamedItem("extensions").Value + ",";
              string [] subfolders = Directory.GetDirectories(f);
              foreach(string subfolder in subfolders) {
                XmlNode sfd = n.OwnerDocument.CreateElement("txs", "load", "http://sourceforge.net/projects/txs");
                XmlAttribute sname = n.OwnerDocument.CreateAttribute("filename");
                sname.Value = subfolder.Replace('\\', '/');
                sfd.Attributes.SetNamedItem(sname);
                XmlAttribute sform = n.OwnerDocument.CreateAttribute("format");
                sform.Value = "folder";
                sfd.Attributes.SetNamedItem(sform);
                XmlAttribute sexts = n.OwnerDocument.CreateAttribute("extensions");
                sexts.Value = n.Attributes.GetNamedItem("extensions").Value;
                sfd.Attributes.SetNamedItem(sexts);
                result.AppendChild(sfd);
              }
              string [] files = Directory.GetFiles(f);
              foreach(string file in files) {
                XmlNode sfd = n.OwnerDocument.CreateElement("txs", "file", "http://sourceforge.net/projects/txs");
                XmlAttribute sname = n.OwnerDocument.CreateAttribute("name");
                sname.Value = file.Substring(l);
                sfd.Attributes.SetNamedItem(sname);
                XmlAttribute sfname = n.OwnerDocument.CreateAttribute("fullname");
                sfname.Value = file.Replace('\\', '/');
                sfd.Attributes.SetNamedItem(sfname);
                XmlAttribute sfl = n.OwnerDocument.CreateAttribute("size");
                FileInfo fif = new FileInfo(file);
                sfl.Value = fif.Length.ToString();
                sfd.Attributes.SetNamedItem(sfl);
                if(fif.Extension != "") {
                  String fife = "," + fif.Extension.Substring(1).ToLower() + ",";
                  if(exts.Contains(fife)) {
                    XmlNode fload = n.OwnerDocument.CreateElement("txs", "load", "http://sourceforge.net/projects/txs");
                    XmlAttribute flname = n.OwnerDocument.CreateAttribute("filename");
                    flname.Value = file.Replace('\\', '/');
                    fload.Attributes.SetNamedItem(flname);
                    XmlAttribute flform = n.OwnerDocument.CreateAttribute("format");
                    flform.Value = fif.Extension.Substring(1).ToLower();
                    fload.Attributes.SetNamedItem(flform);
                    sfd.AppendChild(fload);
                  }
                }
                result.AppendChild(sfd);
              }
    Formulaires XForms sur tous navigateurs sans extension à installer (architecture XRX) : http://www.agencexml.com/xsltforms/

Discussions similaires

  1. générer xml pour plusieurs images automatiquement
    Par tomagozo dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 12/04/2006, 17h56
  2. [VB.net] Générer une date selon condition
    Par WriteLN dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/10/2005, 16h12
  3. [VB.NET] Transformation XML -> HTML
    Par marsu381 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 27/09/2005, 10h38
  4. [VB.NET] Sérialisation XML de Collections
    Par nico-pyright(c) dans le forum Windows Forms
    Réponses: 8
    Dernier message: 15/12/2004, 15h28
  5. [DOM] Serialiser arbre DOM en fichier XML
    Par Overflow64 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 20/10/2004, 11h53

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