private void initialize(SharpSerializerXmlSettings settings)
        {
            // PropertiesToIgnore
            PropertyProvider.PropertiesToIgnore = settings.AdvancedSettings.PropertiesToIgnore;
            PropertyProvider.AttributesToIgnore = settings.AdvancedSettings.AttributesToIgnore;
            //RootName
            RootName = settings.AdvancedSettings.RootName;
            // TypeNameConverter)
            ITypeNameConverter typeNameConverter = settings.AdvancedSettings.TypeNameConverter ??
                                                   DefaultInitializer.GetTypeNameConverter(
                settings.IncludeAssemblyVersionInTypeName,
                settings.IncludeCultureInTypeName,
                settings.IncludePublicKeyTokenInTypeName);
            // SimpleValueConverter
            ISimpleValueConverter simpleValueConverter = settings.AdvancedSettings.SimpleValueConverter ??
                                                         DefaultInitializer.GetSimpleValueConverter(settings.Culture, typeNameConverter);
            // XmlWriterSettings
            XmlWriterSettings xmlWriterSettings = DefaultInitializer.GetXmlWriterSettings(settings.Encoding);
            // XmlReaderSettings
            XmlReaderSettings xmlReaderSettings = DefaultInitializer.GetXmlReaderSettings();

            // Create Serializer and Deserializer
            var reader = new DefaultXmlReader(typeNameConverter, simpleValueConverter, xmlReaderSettings);
            var writer = new DefaultXmlWriter(typeNameConverter, simpleValueConverter, xmlWriterSettings);

            _serializer   = new XmlPropertySerializer(writer);
            _deserializer = new XmlPropertyDeserializer(reader);
        }
Exemple #2
0
        public Object ReadFromReader(TextReader reader)
        {
            XmlReaderSettings settings = new XmlReaderSettings();

            settings.IgnoreWhitespace = true;
            settings.DtdProcessing    = DtdProcessing.Prohibit;
            //settings.ValidationType = ValidationType.None;
            settings.XmlResolver = null;

            XmlReader xmlReader = XmlReader.Create(reader, settings);

            try
            {
                DefaultXmlReader pullParserReader = new DefaultXmlReader(xmlReader, XmlController, ObjectFutureHandlerRegistry);
                pullParserReader.NextTag();
                ReadPrefix(pullParserReader);
                Object obj = pullParserReader.ReadObject();
                obj = PostProcess(obj, pullParserReader);
                ReadPostfix(pullParserReader);
                return(obj);
            }
            catch (XmlTypeNotFoundException e)
            {
                throw e;
            }
            catch (Exception)
            {
                //if (xmlReader != null)
                //{
                //    throw RuntimeExceptionUtil.Mask(e,
                //            "Error while parsing cyclic xml content (line " + xmlReader..get.getLineNumber() + ", column " + xmlReader.getColumnNumber() + ")");
                //}
                throw;
            }
        }