public static void documentoPerProtocolla(XmlDocument doc, XmlNode documentoNode, DocumentoXml formDatiXml) { XmlNode riservatoNode = doc.CreateElement("Riservato"); riservatoNode.AppendChild(doc.CreateTextNode(formDatiXml.riservato)); documentoNode.AppendChild(riservatoNode); XmlNode flagProtoNode = doc.CreateElement("FlagProtocollo"); flagProtoNode.AppendChild(doc.CreateTextNode(formDatiXml.flagProtocollo)); documentoNode.AppendChild(flagProtoNode); XmlNode classificaNode = doc.CreateElement("Classifica"); classificaNode.AppendChild(doc.CreateTextNode(formDatiXml.classifica)); documentoNode.AppendChild(classificaNode); XmlNode oggettoNode = doc.CreateElement("Oggetto"); oggettoNode.AppendChild(doc.CreateTextNode(formDatiXml.oggetto)); documentoNode.AppendChild(oggettoNode); XmlNode protoMittNode = doc.CreateElement("ProtocolloMittente"); XmlAttribute dataAttr = doc.CreateAttribute("Data"); XmlAttribute protoAttr = doc.CreateAttribute("Protocollo"); documentoNode.AppendChild(protoMittNode); XmlNode protoInizNode = doc.CreateElement("ProtocolloIniziale"); XmlAttribute codAmmAttr = doc.CreateAttribute("CodAmm"); XmlAttribute codAOOAttr = doc.CreateAttribute("codAOO"); XmlAttribute progrAttr = doc.CreateAttribute("Progr"); XmlAttribute dataPrAttr = doc.CreateAttribute("Data"); documentoNode.AppendChild(protoInizNode); XmlNode dataArrivoNode = doc.CreateElement("DataArrivo"); documentoNode.AppendChild(dataArrivoNode); }
public static string CreaXmlProtocolla(FormDatiXmlProtocolla formDatiXml) { XmlDocument doc = new XmlDocument(); XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null); doc.AppendChild(docNode); XmlNode datiInvioNode = doc.CreateElement("DatiInvio"); doc.AppendChild(datiInvioNode); //--- XmlNode categioriaProtoNode = doc.CreateElement("CategoriaProtocollo"); categioriaProtoNode.AppendChild(doc.CreateTextNode(formDatiXml.categoriaProtocollo)); datiInvioNode.AppendChild(categioriaProtoNode); XmlNode mittenteNode = doc.CreateElement("Mittente"); datiInvioNode.AppendChild(mittenteNode); //--- mittente(doc, mittenteNode, formDatiXml); //+++ XmlNode listaDestNode = doc.CreateElement("ListaDestinatari"); datiInvioNode.AppendChild(listaDestNode); //--- //verifico se la lista di destinatari è vuota if (formDatiXml.listaDestinatari.Count == 0) { XmlNode destNode = doc.CreateElement("Destinatario"); listaDestNode.AppendChild(destNode); //--- //... DestinatarioXml dest = new DestinatarioXml(); destinatario(doc, destNode, dest); } //altrimenti, se la lista dei destinatari non è vuota, stampo il contenuto nell'xml else { foreach (DestinatarioXml dest in formDatiXml.listaDestinatari) { XmlNode destNode = doc.CreateElement("Destinatario"); listaDestNode.AppendChild(destNode); //--- //... destinatario(doc, destNode, dest); //+++ } } if (formDatiXml.listaDestinatariCC.Count > 0) { foreach (DestinatarioXml dest in formDatiXml.listaDestinatariCC) { XmlNode destNode = doc.CreateElement("Destinatario"); XmlAttribute ccAttr = doc.CreateAttribute("TipoInvio"); ccAttr.Value = "CC"; destNode.Attributes.Append(ccAttr); listaDestNode.AppendChild(destNode); //--- //... destinatario(doc, destNode, dest); //+++ } } XmlNode listaDocNode = doc.CreateElement("ListaDocumenti"); datiInvioNode.AppendChild(listaDocNode); //--- //verifico se la lista di documenti è vuota if (formDatiXml.listaDocumenti.Count == 0) { XmlNode documentoNode = doc.CreateElement("Documento"); listaDocNode.AppendChild(documentoNode); //--- //... DocumentoXml docXml = new DocumentoXml(); documentoPerProtocolla(doc, documentoNode, docXml); } //altrimenti, se la lista dei documenti non è vuota, stampo il contenuto nell'xml else { foreach (DocumentoXml docXml in formDatiXml.listaDocumenti) { XmlNode documentoNode = doc.CreateElement("Documento"); listaDocNode.AppendChild(documentoNode); //--- documentoPerProtocolla(doc, documentoNode, docXml); } } /* * XmlNode listaSoggAffNode = doc.CreateElement("ListaSoggettiAfferenti"); * documentoNode.AppendChild(listaSoggAffNode); * //... * * XmlNode soggAfferenteNode = doc.CreateElement("SoggettoAfferente"); * listaSoggAffNode.AppendChild(soggAfferenteNode); * //--- * * soggettoAfferente(doc, soggAfferenteNode, formDatiXml); */ return(doc.OuterXml); }