ciao a tutti, devo creare un xml in un percorso da me predefinito; per fare questo, ho astratto il mio progetto attraverso delle classi e lo sto implementando attraverso l'uso di xmlserialize:
quello che mi chiedo è:
1)come posso cambiare il nome della root nell'xml??
2)come posso eliminare il nodo slshow ed includere tutto quello che c'è al suo interno dentro al Nodo Visitatori?
Grazie.
#main
#Classe_1codice:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; //http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization namespace TestXML { class Program { static void Main(string[] args) { Visitatori xmlvisitatori = new Visitatori(); Slshow slideshow = new Slshow(); xmlvisitatori.nome = "Andrea"; xmlvisitatori.cognome = "Bacco"; xmlvisitatori.descrizione = "Prova"; slideshow.path = "italia.jpg"; slideshow.bevenuto="welcome"; xmlvisitatori.slshow.Add(slideshow); Visitatori xmlvisitatori2 = new Visitatori(); xmlvisitatori2.nome = "Andrea"; xmlvisitatori2.cognome = "Mocca"; xmlvisitatori2.descrizione = "Prova2"; List<Visitatori> myVisitorlist = new List<Visitatori>(){xmlvisitatori,xmlvisitatori2}; #region save object // Create a new XmlSerializer instance with the type of the test class XmlSerializer SerializerObj = new XmlSerializer(typeof(List<Visitatori>)); // Create a new file stream to write the serialized object to a file TextWriter WriteFileStream = new StreamWriter(@"C:\test.xml"); SerializerObj.Serialize(WriteFileStream, myVisitorlist); // Cleanup WriteFileStream.Close(); #endregion } } }
#Classe_2codice:public class Visitatori { [XmlElement("nomeXML")] public string nome { get; set; } [XmlElement("cogomeXML")] public string cognome { get; set; } [XmlElement("descrizioneXML")] public string descrizione { get; set; } [XmlElement("slshowXML")] public List<Slshow> slshow = new List<Slshow>(); }
#OUTPUTcodice:public class Slshow { public string path { get; set; } public string bevenuto { get; set; } }
codice:<?xml version="1.0" encoding="utf-8"?> <ArrayOfVisitatori xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Visitatori> <slshowXML> <path>italia.jpg</path> <bevenuto>welcome</bevenuto> </slshowXML> <nomeXML>Andrea</nomeXML> <cogomeXML>Bacco</cogomeXML> <descrizioneXML>Prova</descrizioneXML> </Visitatori> <Visitatori> <nomeXML>Andrea</nomeXML> <cogomeXML>Mocca</cogomeXML> <descrizioneXML>Prova2</descrizioneXML> </Visitatori> </ArrayOfVisitatori>

Rispondi quotando