Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema con file XML

  1. #1

    Problema con file XML

    Ciao a tutti,
    ho un problema quando vado a modificare o scrivere un file xml.
    La creazione o modifica di un nodo va bene, solo che mi cambia l'ordine dei nodi.
    Esempio:
    se ho
    <progetti>
    <progetto id="1" titolo="11" n_img="2">
    <voce id="2" img_pic="anteprime_vendite/11/photo_1_2_pic.jpg" big="anteprime_vendite/11/photo_1_2.jpg" descr="2" />
    <voce id="1" img_pic="anteprime_vendite/11/photo_1_1_pic.jpg" big="anteprime_vendite/11/photo_1_1.jpg" descr="11" />
    </progetto>
    <progetto id="2" titolo="22" n_img="0"></progetto>
    </progetti>

    se vado a modificae il nodo voce con id=1 mi modifica il file in questo modo:
    <progetti>
    <progetto id="2" titolo="2" n_img="0" />
    <progetto id="1" titolo="11" n_img="2">
    <voce id="2" img_pic="anteprime_vendite/11/photo_1_2_pic.jpg" big="anteprime_vendite/11/photo_1_2.jpg" descr="2" />
    <voce id="1" img_pic="anteprime_vendite/11/photo_1_1_pic.jpg" big="anteprime_vendite/11/photo_1_1.jpg" descr="11" />
    </progetto>
    </progetti>

    Perchè?
    Dato che il file xml viene letto da un file flash ho necessità di mantenere l'oridine.
    Grazie

  2. #2
    dovresti postare un pò di codice...

  3. #3
    ecco il codice che uso per creare un nodo e per modificare un nodo:

    private void insVenditaGalleryXml(string id,string str_titolo)
    {
    //carica il documento
    string file_xml=Server.MapPath(cs.FileXmlVenditeGalleryAd min);

    XmlDocument doc = new XmlDocument();
    doc.Load(file_xml);

    //Accede al nodo categoria
    XmlElement nodo = doc.CreateElement("progetto");

    XmlAttribute attr_id = doc.CreateAttribute("id");
    attr_id.Value = id;
    nodo.Attributes.SetNamedItem(attr_id);

    XmlAttribute attr_titolo = doc.CreateAttribute("titolo");
    attr_titolo.Value =str_titolo;
    nodo.Attributes.SetNamedItem(attr_titolo);

    XmlAttribute attr_n_img = doc.CreateAttribute("n_img");
    attr_n_img.Value = "0";
    nodo.Attributes.SetNamedItem(attr_n_img);

    doc.DocumentElement.AppendChild(nodo);

    doc.Save(file_xml);
    }

    private void modVenditaGalleryXml(string id,string str_titolo)
    {
    //Aggiornamento del nodo
    string file_xml=Server.MapPath(cs.FileXmlVenditeGalleryAd min);

    XmlDocument doc = new XmlDocument();
    doc.Load(file_xml);

    XmlNode nodoVendita = doc.DocumentElement.SelectSingleNode("progetto[@id='" + id + "']");

    if (nodoVendita!=null)
    {
    nodoVendita.Attributes["titolo"].Value = str_titolo;

    doc.Save(file_xml);
    }
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.