/// <summary> /// Ritorna la rappresentazione Xml. /// </summary> /// <param name="function"></param> /// <returns></returns> public string ToXml() { using (XmlWrite xw = new XmlWrite()) { if (XmlFunction == null) { //Crea Xml Standard xw.WriteStartElement("MESSAGELIST"); try { for (int i = 0; i < this.Count; i++) { xw.WriteRaw(this[i].ToXml()); } } finally { xw.WriteEndElement(); } } else { //Utilizza la funzione specificata XmlFunction(this, xw); } return(xw.ToString()); } }
/// <summary> /// Ritorna Xml con dati oggetti. E' possibile specificare un delegato per poter manipolare /// l'xml di ogni oggetto con altri dati. Utilizzando rewriteAll viene soppresso l'output Xml standard /// dell'oggetto /// </summary> /// <param name="function"> /// Delegato ad una funzione (e.s. AggiornaXmlUtente(Utente ut, Xmlwrite xw)) per la manipolazione dell'xml /// </param> /// <param name="rewriteAll"> /// Impostato a true disabilita l'output xml standard dell'oggetto /// </param> /// <param name="args"> /// Dati esterni da inviare alla funzione di scrittura xml /// </param> /// <returns></returns> public string ToXml(XmlFunction function, bool rewriteAll, params object[] args) { DataObjectBase o; using (XmlWrite xw = new XmlWrite()) { for (int i = 0; i < this.Count; i++) { o = this[i]; xw.WriteStartElement(o.mClassSchema.ClassName); try { if (!rewriteAll) { xw.WriteRaw(o.ToXml()); } //Se fornita funzione allora la richiama if (function != null) { function((T)o, xw, args); } } finally { xw.WriteEndElement(); } } return(xw.ToString()); } }
/// <summary> /// Crea rappresentazione Xml /// </summary> /// <param name="xw"></param> /// <param name="obj"></param> /// <param name="depth"></param> public override void WriteXml(XmlWrite xw, DataObjectBase obj, int depth) { var oTemp = (DataListBase)this.GetValue(obj); xw.WriteStartElement(this.Name); try { xw.WriteRaw((oTemp == null) ? string.Empty : oTemp.ToXml(depth)); } finally { xw.WriteEndElement(); } }
/// <summary> /// Scrive Xml con possibilita' di integrazione dati attraverso la specifica di una funzione /// di manipolazione /// </summary> /// <param name="function"></param> /// <param name="rewriteAll"> /// Se true allora non emette l'Xml standard dell'oggetto /// </param> /// <param name="args"></param> /// <returns></returns> public string ToXml(XmlFunction function, bool rewriteAll, params object[] args) { using (XmlWrite xw = new XmlWrite()) { //Se deve riscrivere if (!rewriteAll) { xw.WriteRaw(this.ToXml(1)); } //Se fornita funzione allora la richiama if (function != null) { function((T)this, xw, args); } return(xw.ToString()); } }
/// <summary> /// Scrive xml lista /// </summary> /// <param name="depht"></param> /// <returns></returns> public string ToXml(int depht) { using (XmlWrite xw = new XmlWrite()) { for (int i = 0; i < this.mInnerList.Count; i++) { xw.WriteStartElement(this.mObjSchema.ClassName); try { xw.WriteRaw(this.getItem(i).ToXml(depht)); } finally { xw.WriteEndElement(); } } return(xw.ToString()); } }
/// <summary> /// Crea rappresentazione Xml /// </summary> /// <param name="xw"></param> /// <param name="obj"></param> /// <param name="depth"></param> public override void WriteXml(XmlWrite xw, DataObjectBase obj, int depth) { //Scrive proprietà base object oValue = this.GetValueForDb(obj); if (!this.IsMapped) { if (oValue != null) { xw.WriteElementString(this.Column.Name, oValue.ToString()); } else { xw.WriteElementString(this.Column.Name, string.Empty); } } //Include oggetto mappato se profondita' prevista e campio non null if (depth > 0 && (this.IsMapped || oValue != null)) { var oTemp = this.GetValue(obj); if (oTemp != null) { //Include oggetto xw.WriteStartElement(this.Name); try { xw.WriteRaw(((DataObjectBase)oTemp).ToXml(depth - 1)); } finally { xw.WriteEndElement(); } } } }