Esempio n. 1
0
    static void Main(string[] args)
    {
        try
        {
            XTest xtest = new XTest()
            {
                PropertyName = "Raj"
            };

            StringBuilder xmlString = new StringBuilder();
            using (XmlWriter xtw = XmlTextWriter.Create(xmlString))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(XTest), GetXmlAttributeOverrides(typeof(XTest)));
                serializer.Serialize(xtw, xtest);

                xtw.Flush();
            }

            Console.WriteLine(xmlString.ToString());
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }
    }
Esempio n. 2
0
        /// <summary>
        /// Serialize object to XML string.
        /// </summary>
        /// <param name="o">The object to serialize.</param>
        /// <param name="encoding">The encoding to use (default is UTF8).</param>
        /// <param name="namespaces">Contains the XML namespaces and prefixes that the XmlSerializer  uses to generate qualified names in an XML-document instance.</param>
        /// <returns>XML string.</returns>
        public static string SerializeToXmlString(object o, Encoding encoding = null, bool omitXmlDeclaration = false)
        {
            if (o == null)
            {
                return(null);
            }
            // Create serialization settings.
            encoding = encoding ?? Encoding.UTF8;
            XmlWriterSettings settings = new XmlWriterSettings();

            settings.OmitXmlDeclaration = true;
            settings.Encoding           = encoding;
            settings.Indent             = true;
            // Serialize.
            XmlSerializer serializer = GetXmlSerializer(o.GetType());
            MemoryStream  ms         = new MemoryStream();
            XmlWriter     xw         = XmlTextWriter.Create(ms, settings);

            lock (serializer) { serializer.Serialize(xw, o); }
            xw.Flush();
            StreamReader tr = new StreamReader(ms);

            ms.Seek(0, SeekOrigin.Begin);
            string xml = tr.ReadToEnd();

            xw.Close();
            ms.Close();
            xw = null;
            ms = null;
            return(xml);
        }
Esempio n. 3
0
        public XmlDocument Serialize()
        {
            XmlWriterSettings settings = new XmlWriterSettings();

            settings.Encoding           = Encoding.UTF8;
            settings.OmitXmlDeclaration = true;
            settings.Indent             = true;

            XmlSerializerNamespaces ns = new XmlSerializerNamespaces();

            ns.Add("oai_dc", "http://www.openarchives.org/OAI/2.0/oai_dc/");
            ns.Add("dc", "http://purl.org/dc/elements/1.1/");

            MemoryStream  stream     = new MemoryStream();
            XmlSerializer serializer = new XmlSerializer(typeof(DublinCoreFile));
            XmlWriter     textWriter = XmlTextWriter.Create(stream, settings);

            serializer.Serialize(textWriter, this, ns);
            textWriter.Flush();
            stream.Position = 0;

            XmlDocument xml = new XmlDocument();

            xml.Load(stream);
            textWriter.Close();

            return(xml);
        }
Esempio n. 4
0
        // Evento para agregar un nuevo ejercicio a la lista
        protected void btnAgregarEjercicio_Click(object sender, EventArgs e)
        {
            XDocument document;

            try
            {   // Carga el archivo XML, y si no lo encuentra accede al catch para crearlo
                document = XDocument.Load(Server.MapPath("ejercicios.xml"));
            }
            catch (Exception)
            {
                generarXMLEjercicios();
                return;
            }

            XElement ejercicio = new XElement("Ejercicio");

            ejercicio.Add(new XElement("IDEjercicio", txtIDEjercicio.Text));
            ejercicio.Add(new XElement("Nombre", txtNombreEjercicio.Text));
            ejercicio.Add(new XElement("GrupoMuscular", ddlListaGrupoMusc.SelectedValue));

            document.Descendants("Ejercicios").First().Add(ejercicio);

            using (XmlWriter writer = XmlTextWriter.Create(Server.MapPath("ejercicios.xml")))
            {
                document.Save(writer);
            }

            cargarDatosEjercicios();
        }
Esempio n. 5
0
        // Evento para agregar un nuevo grupo muscular a la lista
        protected void btnAgregarGrupo_Click(object sender, EventArgs e)
        {
            XDocument document;

            try
            {   // Se carga el archivo xml, y si no lo encuentra accede a crearlo en el catch
                document = XDocument.Load(Server.MapPath("gruposMusculares.xml"));
            }
            catch (Exception)
            {
                generarXMLGruposMusc();
                return;
            }

            XElement grupoMuscular = new XElement("GrupoMuscular");

            grupoMuscular.Add(new XElement("IDGrupoMuscular", txtIDGrupoMusc.Text));
            grupoMuscular.Add(new XElement("Nombre", txtNombreGrupoMusc.Text));

            document.Descendants("GruposMusculares").First().Add(grupoMuscular);

            using (XmlWriter writer = XmlTextWriter.Create(Server.MapPath("gruposMusculares.xml")))
            {
                document.Save(writer);
            }

            cargarDDLDatosGruposM();
            cargarDatosGruposM();
        }
 /// <summary>
 /// Saves all the states to a persistance file.
 /// </summary>
 private void SaveProjectStates()
 {
     if (projectStates != null)
     {
         var stateDocument = new XmlDocument();
         var rootElement   = stateDocument.CreateElement("state");
         stateDocument.AppendChild(rootElement);
         foreach (var projectName in projectStates.Keys)
         {
             if (!projectStates[projectName])
             {
                 var projectElement = stateDocument.CreateElement("project");
                 projectElement.InnerText = projectName;
                 rootElement.AppendChild(projectElement);
             }
         }
         using (var stream = fileSystem.OpenOutputStream(persistanceFileName))
         {
             var settings = new XmlWriterSettings
             {
                 Encoding           = Encoding.UTF8,
                 OmitXmlDeclaration = true,
                 Indent             = false
             };
             using (var xmlWriter = XmlTextWriter.Create(stream, settings))
             {
                 stateDocument.Save(xmlWriter);
             }
         }
     }
 }
Esempio n. 7
0
        public void Handle(string path, Stream request, Stream responseStream, OSHttpRequest httpRequest, OSHttpResponse httpResponse)
        {
            RestSessionObject <TRequest> deserial = default(RestSessionObject <TRequest>);
            bool fail = false;

            using (XmlTextReader xmlReader = new XmlTextReader(request))
            {
                try
                {
                    XmlSerializer deserializer = new XmlSerializer(typeof(RestSessionObject <TRequest>));
                    deserial = (RestSessionObject <TRequest>)deserializer.Deserialize(xmlReader);
                }
                catch (Exception e)
                {
                    m_log.Error("[Rest]: Deserialization problem. Ignoring request. " + e);
                    fail = true;
                }
            }

            TResponse response = default(TResponse);

            if (!fail && m_smethod(deserial.SessionID, deserial.AvatarID))
            {
                response = m_method(deserial.Body);
            }

            using (XmlWriter xmlWriter = XmlTextWriter.Create(responseStream))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(TResponse));
                serializer.Serialize(xmlWriter, response);
            }
        }
Esempio n. 8
0
        /// <summary>
        /// 將資料轉換成 Xml,並格式化輸出。
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            XmlWriterSettings setting = new XmlWriterSettings();

            setting.OmitXmlDeclaration = true;
            setting.Indent             = true;
            using (XmlWriter writer = XmlTextWriter.Create(sb, setting))
            {
                if (!UniqueMode)
                {
                    writer.WriteStartElement("_auto_generate_root");
                    foreach (XmlObject each in XmlRecordList)
                    {
                        each.Write(writer);
                    }
                    writer.WriteEndElement();
                }
                else
                {
                    Write(writer);
                }
            }
            return(sb.ToString());
        }
        /// <summary>
        /// Accepts SAML Response, serializes it to XML and signs using the supplied certificate
        /// </summary>
        /// <param name="Response">SAML 2.0 Response</param>
        /// <param name="SigningCert">X509 certificate</param>
        /// <returns>XML Document with computed signature</returns>
        private static XmlDocument SerializeAndSignSAMLResponse(ResponseType Response, X509Certificate2 SigningCert)
        {
            // Set serializer and writers for action
            XmlSerializer responseSerializer = new XmlSerializer(Response.GetType());
            StringWriter  stringWriter       = new StringWriter();
            XmlWriter     responseWriter     = XmlTextWriter.Create(stringWriter, new XmlWriterSettings()
            {
                OmitXmlDeclaration = true, Indent = true, Encoding = Encoding.UTF8
            });

            responseSerializer.Serialize(responseWriter, Response);
            responseWriter.Close();
            XmlDocument xmlResponse = new XmlDocument();

            xmlResponse.LoadXml(stringWriter.ToString());

            // Set the namespace for prettire and more consistent XML
            XmlNamespaceManager ns = new XmlNamespaceManager(xmlResponse.NameTable);

            ns.AddNamespace("saml", "urn:oasis:names:tc:SAML:2.0:assertion");

            CertificateUtility.AppendSignatureToXMLDocument(ref xmlResponse, "#" + ((AssertionType)Response.Items[0]).ID, SigningCert);

            return(xmlResponse);
        }
Esempio n. 10
0
        public static void WriteQueueToXml(IDataQueue queue, Stream fw, string dbName, string tableName)
        {
            DataTable table = ConnTools.DataTableFromStructure(queue.GetRowFormat);

            table.TableName = tableName;

            List <string> fldnames = new List <string>();

            foreach (IColumnStructure col in queue.GetRowFormat.Columns)
            {
                fldnames.Add(col.ColumnName);
            }

            XmlWriter xw = XmlTextWriter.Create(fw, new XmlWriterSettings {
                Encoding = Encoding.UTF8, CheckCharacters = false
            });

            //XmlTextWriter xw = new XmlTextWriter(fw, Encoding.UTF8);
            //xw.Settings = new XmlWriterSettings { CheckCharacters = false };

            xw.WriteStartDocument();
            xw.WriteStartElement(dbName);
            // mono has bug in writing schema
            if (!Core.IsMono)
            {
                table.WriteXmlSchema(xw);
            }
            List <string> ids = new List <string>();

            foreach (IColumnStructure col in queue.GetRowFormat.Columns)
            {
                ids.Add(XmlTool.NormalizeIdentifier(col.ColumnName));
            }
            try
            {
                while (!queue.IsEof)
                {
                    IBedRecord row = queue.GetRecord();
                    xw.WriteStartElement(tableName);
                    for (int i = 0; i < row.FieldCount; i++)
                    {
                        row.ReadValue(i);
                        var type = row.GetFieldType();
                        if (type == TypeStorage.Null)
                        {
                            continue;
                        }
                        xw.WriteElementString(ids[i], XmlTool.ObjectToString(row.GetValue(i)));
                    }
                    xw.WriteEndElement();
                }
            }
            finally
            {
                queue.CloseReading();
            }
            xw.WriteEndElement();
            xw.WriteEndDocument();
            xw.Flush();
        }
Esempio n. 11
0
        public static void WriteOptions()
        {
            FileStream fileStream = null;
            XmlWriter  writer     = null;

            string path = AppStartPath + "\\Options.xml";

            fileStream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);

            XmlWriterSettings settings = new XmlWriterSettings();

            settings.Indent          = true;
            settings.NewLineHandling = NewLineHandling.Entitize;

            writer = XmlTextWriter.Create(fileStream, settings);

            writer.WriteStartElement("Options");

            writer.WriteStartElement("ShowStartupScreen");
            writer.WriteValue(Statics.IsShowStratupScreen.ToString());
            writer.WriteFullEndElement();

            writer.WriteFullEndElement();

            writer.Close();
            fileStream.Close();
        }
Esempio n. 12
0
        void RefreshXML()
        {
            if (AsReflectionObject)
            {
                try
                {
                    XmlSerializer xmls = new XmlSerializer(ObjectType);

                    //WindowsAPI.BeginPaint(hTextBox);
                    using (MemoryStream ms = new MemoryStream())
                    {
                        XmlWriterSettings settings = new XmlWriterSettings();
                        settings.Encoding         = Encoding.UTF8;
                        settings.Indent           = true;
                        settings.IndentChars      = "\t";
                        settings.NewLineChars     = Environment.NewLine;
                        settings.ConformanceLevel = ConformanceLevel.Document;
                        using (XmlWriter writer = XmlTextWriter.Create(ms, settings))
                        {
                            xmls.Serialize(writer, LoadObject);
                        }
                        string xml = Encoding.UTF8.GetString(ms.ToArray());
                        hTextBox.LoadString(xml);
                    }
                    //WindowsAPI.EndPaint(hTextBox);
                }
                catch
                {
                    tsLabel.Text = "属性结构发生错误。";
                }
            }
        }
Esempio n. 13
0
        protected virtual string BuildData(ActionExecutingContext filterContext)
        {
            string ret = null;

            if (filterContext.ActionParameters.Count > 0 ||
                filterContext.HttpContext.Request.QueryString.Count > 0 ||
                filterContext.HttpContext.Request.Form.Count > 0)
            {
                StringBuilder sb = new StringBuilder();
                using (var wr = XmlTextWriter.Create(sb, WriterSettings))
                {
                    wr.WriteStartElement("Data");

                    // Action parameters
                    WriteData_ActionParameters(filterContext, wr);
                    // Query strings
                    WriteData_QueryStrings(filterContext, wr);
                    // Form data
                    WriteData_Form(filterContext, wr);

                    wr.WriteEndElement();
                    wr.Flush();
                }

                ret = sb.ToString();
            }

            return(ret);
        }
Esempio n. 14
0
        /// <summary>
        /// 为pXmlObj执行XML序列化并返回序列化后的XML字符串内容
        /// </summary>
        /// <param name="pXmlObj">待操作的对象</param>
        /// <returns></returns>
        public string Serialize(object pXmlObj)
        {
            string xmlDes = string.Empty;

            using (MemoryStream ms = new MemoryStream())
            {
                //设置序序化XML格式
                XmlWriterSettings xws = new XmlWriterSettings();
                xws.Indent             = true;// false;
                xws.OmitXmlDeclaration = true;
                xws.Encoding           = Encoding.UTF8;

                using (XmlWriter xtw = XmlTextWriter.Create(ms, xws))
                {
                    // XML namespace setting
                    XmlSerializerNamespaces _namespaces = new XmlSerializerNamespaces(new XmlQualifiedName[] { new XmlQualifiedName(string.Empty, string.Empty) });

                    XmlSerializer xml = new XmlSerializer(pXmlObj.GetType());
                    xml.Serialize(xtw, pXmlObj, _namespaces);   // serialize obj to XML

                    // read to string.
                    ms.Seek(0, SeekOrigin.Begin);
                    XmlDoc.Load(ms);

                    XmlDeclaration xmlDecl = XmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "yes");

                    xmlDes = xmlDecl.OuterXml + XmlDoc.OuterXml;
                }
            }
            return(xmlDes);
        }
Esempio n. 15
0
        public string GetXmlDescription(bool partial)
        {
            StringBuilder sb = new StringBuilder();

            using (XmlWriter writer = XmlTextWriter.Create(sb))
            {
                if (!partial)
                {
                    writer.WriteStartDocument();
                }

                writer.WriteStartElement("RpcBroker");

                writer.WriteElementString("CurrentContext", this.CurrentContext);
                writer.WriteElementString("Initialized", this.initialized.ToString());

                if (this.vistaSocket != null)
                {
                    writer.WriteRaw(this.vistaSocket.GetXmlDescription(true));
                }

                writer.WriteEndElement();

                if (!partial)
                {
                    writer.WriteEndDocument();
                }
            }
            return(sb.ToString());
        }
Esempio n. 16
0
        public void SaveSession(string filename)
        {
            // Get root node from current selection
            var indexPath = TestResultController.SelectionIndexPath;

            if (indexPath == null)
            {
                return;
            }

            var index = indexPath.IndexAtPosition(0);

            var internalArray = (NSArray)TestResultController.Content;
            var rootNode      = internalArray.GetItem <TestListNode> (index);

            var model = rootNode as TestResultModel;

            if (model == null)
            {
                return;
            }

            var result  = model.Result;
            var element = TestSerializer.WriteTestResult(result);

            var settings = new XmlWriterSettings {
                Indent = true
            };

            using (var writer = XmlTextWriter.Create(filename, settings)) {
                element.WriteTo(writer);
            }
        }
        /// <summary>
        /// Reads an object from the body of an XML element.
        /// </summary>
        private static string SetObject(Type type, object value)
        {
            // serialize object to a string.
            XmlWriterSettings settings = new XmlWriterSettings();

            settings.Indent = true;

            StringBuilder buffer = new StringBuilder();
            XmlWriter     writer = XmlTextWriter.Create(buffer, settings);

            try
            {
                DataContractSerializer serializer = new DataContractSerializer(type);
                serializer.WriteObject(writer, value);
            }
            finally
            {
                writer.Close();
            }

            // must extract the inner xml.
            XmlDocument document = new XmlDocument();

            document.InnerXml = buffer.ToString();
            return(document.DocumentElement.InnerXml);
        }
Esempio n. 18
0
        void WriteRegexes()
        {
            Stream            stream   = new FileStream(LibraryLocation, FileMode.Create);
            XmlWriterSettings settings = new XmlWriterSettings();

            settings.Encoding = System.Text.Encoding.UTF8;
            settings.Indent   = true;
            XmlWriter writer = XmlTextWriter.Create(stream, settings);

            try {
                writer.WriteStartElement(Node);
                writer.WriteAttributeString(VersionAttribute, version);

                foreach (Expression expr in expressions)
                {
                    writer.WriteStartElement(ExpressionNode);
                    writer.WriteAttributeString(AuthorAttribute, expr.AuthorName);
                    writer.WriteAttributeString(SourceAttribute, expr.Source);
                    writer.WriteAttributeString(DescriptionAttribute, expr.Description);
                    writer.WriteAttributeString(PatternAttribute, expr.Pattern);
                    writer.WriteAttributeString(RatingAttribute, expr.Rating.ToString());
                    writer.WriteAttributeString(TitleAttribute, expr.Title);
                    writer.WriteAttributeString(MatchingAttribute, Validate(expr.MatchingText));
                    writer.WriteAttributeString(NonMatchingAttribute, Validate(expr.NonMatchingText));
                    writer.WriteEndElement();                      // ExpressionNode
                }

                writer.WriteEndElement();                  // Node
            } finally {
                writer.Close();
                stream.Close();
            }
        }
Esempio n. 19
0
        /// <summary>
        ///
        /// </summary>
        public void SaveToFile()
        {
            string fileName = this._fileName;

            XmlWriterSettings settings = new XmlWriterSettings
            {
                Indent   = true,
                Encoding = Encoding.UTF8
            };


            Directory.CreateDirectory(Path.GetDirectoryName(fileName));

            using (XmlWriter writer = XmlTextWriter.Create(fileName, settings))
            {
                var      modelDictionary = this._TDictionary;
                List <T> list            = new List <T>();

                foreach (var i in modelDictionary)
                {
                    list.Add(i.Value);
                }

                this._serializer.Serialize(writer, list);
            }
        }
Esempio n. 20
0
        public override void SaveFile(string sNewPath)
        {
            try {
                DebugUtil.Log(1, "Saving scene to path " + sNewPath);

                SceneGraphConfig.LastFileOpenPath = ListView.FolderPath;

                if (!sNewPath.EndsWith(".xml", StringComparison.InvariantCultureIgnoreCase))
                {
                    sNewPath += ".xml";
                }

                XMLOutputStream stream = new XMLOutputStream(XmlTextWriter.Create(sNewPath,
                                                                                  new XmlWriterSettings()
                {
                    Indent = true, NewLineOnAttributes = true
                }));
                stream.Writer.WriteStartDocument();
                SceneSerializer serializer = new SceneSerializer();
                serializer.TargetFilePath = sNewPath;
                serializer.Store(stream, ActiveCockpit.Scene);
                stream.Writer.WriteEndDocument();

                stream.Writer.Close();

                ActiveCockpit.Context.PopCockpit(true);
            } catch (Exception e) {
                Debug.Log("[SaveScene] save of " + sNewPath + " failed: " + e.Message);
                HUDUtil.ShowCenteredPopupMessage("Save Failed", "Sorry, could not save to path " + sNewPath, ActiveCockpit);
            }
        }
Esempio n. 21
0
        public void Handle(string path, Stream request, Stream responseStream, OSHttpRequest httpRequest, OSHttpResponse httpResponse)
        {
            TRequest deserial = default(TRequest);
            bool     fail     = false;

            using (XmlTextReader xmlReader = new XmlTextReader(request))
            {
                try
                {
                    XmlSerializer deserializer = new XmlSerializer(typeof(TRequest));
                    deserial = (TRequest)deserializer.Deserialize(xmlReader);
                }
                catch (Exception e)
                {
                    m_log.Error("[Rest]: Deserialization problem. Ignoring request. " + e);
                    fail = true;
                }
            }

            TResponse response = default(TResponse);

            if (!fail && m_tmethod(httpRequest.RemoteIPEndPoint))
            {
                response = m_method(deserial);
            }

            using (XmlWriter xmlWriter = XmlTextWriter.Create(responseStream))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(TResponse));
                serializer.Serialize(xmlWriter, response);
            }
        }
Esempio n. 22
0
        private void WriteConfigFile()
        {
            var dirName = Path.GetDirectoryName(this.ConfigFile);

            if (!Directory.Exists(dirName))
            {
                Directory.CreateDirectory(dirName);
            }
            using (XmlWriter writer = XmlTextWriter.Create(this.ConfigFile, new XmlWriterSettings()
            {
                Encoding = Encoding.Unicode, Indent = true
            }))
            {
                writer.WriteStartDocument();
                writer.WriteStartElement("Root");

                writer.WriteStartElement("XTMFUpdateServerLocation");
                writer.WriteString(this.XTMFUpdateServerLocation);
                writer.WriteEndElement();

                writer.WriteStartElement("XTMFUpdateServerPort");
                writer.WriteString(this.XTMFUpdateServerPort.ToString());
                writer.WriteEndElement();

                writer.WriteStartElement("UseWebservices");
                writer.WriteString(this.UseWebservices.ToString());
                writer.WriteEndElement();

                writer.WriteEndElement();
                writer.WriteEndDocument();
            }
        }
Esempio n. 23
0
        protected void btnEliminarEjercicio_Click(object sender, EventArgs e) //Elimina un ejercicio
        {
            XDocument document = XDocument.Load(Server.MapPath("ejercicios.xml"));

            int index = 0;

            foreach (var node in document.Root.Elements("Ejercicio"))
            {
                string idGrupo = node.Element("IDEjercicio").Value; //Obtiene el valor del ID

                if (idGrupo.Equals(txtIDEjercicio.Text))            //Si el ID coincide procede a usar el index
                {
                    break;
                }
                index++;
            }

            try
            {
                document.Root.Elements().ElementAt(index).Remove(); // elimina el elemento coincidente

                using (XmlWriter writer = XmlTextWriter.Create(Server.MapPath("ejercicios.xml")))
                {
                    document.Save(writer); //guarda el documento
                }
                cargarDatosEjercicios();
            }
            catch (Exception)
            {
            }
        }
Esempio n. 24
0
        private void ProcessAssembly(Assembly assembly)
        {
            _visitor.VisitAssembly(assembly);

            using (StringWriter stringWriter = new StringWriter())
            {
                using (_xmlWriter = XmlTextWriter.Create(stringWriter))
                {
                    _xmlWriter.WriteStartElement("Cmdlets");
                    _xmlWriter.WriteAttributeString("xmlns", "xsd", null, NamespaceXmlSchema);
                    _xmlWriter.WriteAttributeString("xmlns", "xsi", null, NamespaceXmlSchemaInstance);

                    foreach (CmdletInfo cmdletInfo in _cmdlets)
                    {
                        cmdletInfo.MergeWithLocalizedXml(_localizedHelpPath);

                        WriteCmdlet(cmdletInfo);
                    }

                    _xmlWriter.WriteEndElement(); // </Cmdlets>
                    _xmlWriter.WriteEndDocument();
                }

                WriteObject(stringWriter.ToString());
            }
        }
Esempio n. 25
0
        public XmlDocument Serialize()
        {
            XmlWriterSettings settings = new XmlWriterSettings();

            settings.Encoding           = Encoding.UTF8;
            settings.OmitXmlDeclaration = false;
            settings.Indent             = true;

            XmlSerializerNamespaces ns = new XmlSerializerNamespaces();

            ns.Add("foxml", "info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd");

            MemoryStream  stream     = new MemoryStream();
            XmlSerializer serializer = new XmlSerializer(typeof(FoxmlDigitalObject));
            XmlWriter     textWriter = XmlTextWriter.Create(stream, settings);

            serializer.Serialize(textWriter, this, ns);
            textWriter.Flush();
            stream.Position = 0;

            XmlDocument xml = new XmlDocument();

            xml.Load(stream);
            textWriter.Close();

            return(xml);
        }
Esempio n. 26
0
        public void Save(string fileName)
        {
            this.fileName = fileName;
            XmlDocument doc = Write(false);

            XmlWriter writer = null;

            try {
                //Always normalize line endings to \n so that they remain consistent.
                //Else, because of the way subdocument are persisted unmodified, we could
                //end up with mixed line endings.
                //Also, string arrays are stored in plain text data with \n separators,
                //and break badly if we have \r\n.
                var settings = new XmlWriterSettings()
                {
                    NewLineHandling = NewLineHandling.Replace,
                    Encoding        = System.Text.Encoding.UTF8,
                    NewLineChars    = "\n",
                    Indent          = true,
                };

                // Write to a temporary file first, just in case something fails
                writer = XmlTextWriter.Create(fileName + "~", settings);
                doc.Save(writer);
                writer.Close();

                File.Copy(fileName + "~", fileName, true);
                File.Delete(fileName + "~");
            } finally {
                if (writer != null)
                {
                    writer.Close();
                }
            }
        }
Esempio n. 27
0
        static public void Write(string filename, params string[] plugins)
        {
            XmlWriterSettings ws = new XmlWriterSettings();

            ws.Indent           = true;
            ws.ConformanceLevel = ConformanceLevel.Document;
            ws.NewLineChars     = "\r\n";
            ws.IndentChars      = "\t";
            //			ws.NewLineHandling = NewLineHandling.Entitize;
            File.Delete(filename);
            using  (System.IO.FileStream fs = new System.IO.FileStream(filename, FileMode.Create))
                using (XmlWriter writer = XmlTextWriter.Create(fs, ws))
                {
                    writer.WriteStartDocument();
                    writer.WriteStartElement("Plugins");
                    foreach (string c in plugins)
                    {
                        if (!string.IsNullOrEmpty(c))
                        {
                            writer.WriteElementString("plugin", c);
                        }
                    }
                    writer.WriteEndElement();
                    writer.WriteEndDocument();
                }
        }
        public void WriteToFile(string fileName)
        {
            var xmlSettings = new XmlWriterSettings()
            {
                Encoding     = Encoding.UTF8,
                CloseOutput  = false,
                Indent       = true,
                IndentChars  = "\t",
                NewLineChars = "\n",
            };

            var  tempFile = FileUtil.GetTempFilenameForWrite(fileName);
            bool success  = false;

            try {
                using (var writer = XmlTextWriter.Create(tempFile, xmlSettings)) {
                    Write(writer);
                }
                FileUtil.SystemRename(tempFile, fileName);
                success = true;
            } finally {
                if (!success)
                {
                    try {
                        File.Delete(tempFile);
                    } catch {
                        //the original exception is more important than this one
                    }
                }
            }
        }
Esempio n. 29
0
        public string GetXmlDescription(bool partial)
        {
            StringBuilder sb = new StringBuilder();

            using (XmlWriter writer = XmlTextWriter.Create(sb))
            {
                if (!partial)
                {
                    writer.WriteStartDocument();
                }

                writer.WriteStartElement("RpcSocket");

                writer.WriteElementString("ServerName", this.ServerName);
                writer.WriteElementString("ServerPort", this.ServerPort.ToString());

                writer.WriteEndElement();

                if (!partial)
                {
                    writer.WriteEndDocument();
                }
            }
            return(sb.ToString());
        }
Esempio n. 30
0
        public XmlDocument Serialize()
        {
            XmlWriterSettings settings = new XmlWriterSettings();

            settings.Encoding           = Encoding.UTF8;
            settings.OmitXmlDeclaration = true;
            settings.Indent             = true;

            XmlSerializerNamespaces ns = new XmlSerializerNamespaces();

            ns.Add("mets", "http://www.loc.gov/METS/");
            ns.Add("xlink", "http://www.w3.org/TR/xlink/");

            MemoryStream  stream     = new MemoryStream();
            XmlSerializer serializer = new XmlSerializer(typeof(MetsFile));
            XmlWriter     textWriter = XmlTextWriter.Create(stream, settings);

            serializer.Serialize(textWriter, this, ns);
            textWriter.Flush();
            stream.Position = 0;

            XmlDocument xml = new XmlDocument();

            xml.Load(stream);
            textWriter.Close();

            return(xml);
        }