Click here to Skip to main content
15,890,123 members
Please Sign up or sign in to vote.
5.00/5 (1 vote)
See more:
My XML File

XML
<Configuration>
	<BlobConfig id="101">
		<EnvironmentConfig>
			<EnvironmentName>Env Name</EnvironmentName>
			<WorkingLocation>Delhi</WorkingLocation>
			<DataSource>.</DataSource>
			<DataBaseName>storageDb</DataBaseName>
			<UserName>Admin</UserName>
			<Password>Admin123</Password>
		</EnvironmentConfig>

		<BlobStorageConfig>
			<AccountName>acc</AccountName>
			<AccesssKey>12dfds</AccesssKey>
		</BlobStorageConfig>

		<MetaData>
			<SQLStatement>sql stmt</SQLStatement>
		</MetaData>

		<ArchiveLocation>
			<EnableArchive>True/False</EnableArchive>
			<ArchiveAfter>6</ArchiveAfter>
			<SourceLocation>Active Storage</SourceLocation>
		</ArchiveLocation>

		<BlobStorageCleanUp>
			<DeleteFileAfter>8</DeleteFileAfter>
			<NotificationMail>True/False</NotificationMail>
			<EmailRecipients>abc@gmail.com</EmailRecipients>
		</BlobStorageCleanUp>
	</BlobConfig>	
	
	<BlobConfig id="102">
		<EnvironmentConfig>
			<EnvironmentName>Env Name</EnvironmentName>
			<WorkingLocation>Delhi</WorkingLocation>
			<DataSource>.</DataSource>
			<DataBaseName>storageDb</DataBaseName>
			<UserName>Admin</UserName>
			<Password>Admin123</Password>
		</EnvironmentConfig>

		<BlobStorageConfig>
			<AccountName>acc</AccountName>
			<AccesssKey>12dfds</AccesssKey>
		</BlobStorageConfig>

		<MetaData>
			<SQLStatement>sql stmt</SQLStatement>
		</MetaData>

		<ArchiveLocation>
			<EnableArchive>True/False</EnableArchive>
			<ArchiveAfter>6</ArchiveAfter>
			<SourceLocation>Active Storage</SourceLocation>
		</ArchiveLocation>

		<BlobStorageCleanUp>
			<DeleteFileAfter>8</DeleteFileAfter>
			<NotificationMail>True/False</NotificationMail>
			<EmailRecipients>abc@gmail.com</EmailRecipients>
		</BlobStorageCleanUp>
	</BlobConfig>	
</Configuration>


My class

C#
namespace XMLParser
{
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public partial class Configuration
    {

        private ConfigurationBlobConfig blobConfigField;

        /// <remarks/>
        public ConfigurationBlobConfig BlobConfig
        {
            get
            {
                return this.blobConfigField;
            }
            set
            {
                this.blobConfigField = value;
            }
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class ConfigurationBlobConfig
    {

        private ConfigurationBlobConfigEnvironmentConfig environmentConfigField;

        private ConfigurationBlobConfigBlobStorageConfig blobStorageConfigField;

        private ConfigurationBlobConfigMetaData metaDataField;

        private ConfigurationBlobConfigArchiveLocation archiveLocationField;

        private ConfigurationBlobConfigBlobStorageCleanUp blobStorageCleanUpField;

        private byte idField;

        /// <remarks/>
        public ConfigurationBlobConfigEnvironmentConfig EnvironmentConfig
        {
            get
            {
                return this.environmentConfigField;
            }
            set
            {
                this.environmentConfigField = value;
            }
        }

        /// <remarks/>
        public ConfigurationBlobConfigBlobStorageConfig BlobStorageConfig
        {
            get
            {
                return this.blobStorageConfigField;
            }
            set
            {
                this.blobStorageConfigField = value;
            }
        }

        /// <remarks/>
        public ConfigurationBlobConfigMetaData MetaData
        {
            get
            {
                return this.metaDataField;
            }
            set
            {
                this.metaDataField = value;
            }
        }

        /// <remarks/>
        public ConfigurationBlobConfigArchiveLocation ArchiveLocation
        {
            get
            {
                return this.archiveLocationField;
            }
            set
            {
                this.archiveLocationField = value;
            }
        }

        /// <remarks/>
        public ConfigurationBlobConfigBlobStorageCleanUp BlobStorageCleanUp
        {
            get
            {
                return this.blobStorageCleanUpField;
            }
            set
            {
                this.blobStorageCleanUpField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public byte id
        {
            get
            {
                return this.idField;
            }
            set
            {
                this.idField = value;
            }
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class ConfigurationBlobConfigEnvironmentConfig
    {

        private string environmentNameField;

        private string workingLocationField;

        private string dataSourceField;

        private string dataBaseNameField;

        private string userNameField;

        private string passwordField;

        /// <remarks/>
        public string EnvironmentName
        {
            get
            {
                return this.environmentNameField;
            }
            set
            {
                this.environmentNameField = value;
            }
        }

        /// <remarks/>
        public string WorkingLocation
        {
            get
            {
                return this.workingLocationField;
            }
            set
            {
                this.workingLocationField = value;
            }
        }

        /// <remarks/>
        public string DataSource
        {
            get
            {
                return this.dataSourceField;
            }
            set
            {
                this.dataSourceField = value;
            }
        }

        /// <remarks/>
        public string DataBaseName
        {
            get
            {
                return this.dataBaseNameField;
            }
            set
            {
                this.dataBaseNameField = value;
            }
        }

        /// <remarks/>
        public string UserName
        {
            get
            {
                return this.userNameField;
            }
            set
            {
                this.userNameField = value;
            }
        }

        /// <remarks/>
        public string Password
        {
            get
            {
                return this.passwordField;
            }
            set
            {
                this.passwordField = value;
            }
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class ConfigurationBlobConfigBlobStorageConfig
    {

        private string accountNameField;

        private string accesssKeyField;

        /// <remarks/>
        public string AccountName
        {
            get
            {
                return this.accountNameField;
            }
            set
            {
                this.accountNameField = value;
            }
        }

        /// <remarks/>
        public string AccesssKey
        {
            get
            {
                return this.accesssKeyField;
            }
            set
            {
                this.accesssKeyField = value;
            }
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class ConfigurationBlobConfigMetaData
    {

        private string sQLStatementField;

        /// <remarks/>
        public string SQLStatement
        {
            get
            {
                return this.sQLStatementField;
            }
            set
            {
                this.sQLStatementField = value;
            }
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class ConfigurationBlobConfigArchiveLocation
    {

        private string enableArchiveField;

        private byte archiveAfterField;

        private string sourceLocationField;

        /// <remarks/>
        public string EnableArchive
        {
            get
            {
                return this.enableArchiveField;
            }
            set
            {
                this.enableArchiveField = value;
            }
        }

        /// <remarks/>
        public byte ArchiveAfter
        {
            get
            {
                return this.archiveAfterField;
            }
            set
            {
                this.archiveAfterField = value;
            }
        }

        /// <remarks/>
        public string SourceLocation
        {
            get
            {
                return this.sourceLocationField;
            }
            set
            {
                this.sourceLocationField = value;
            }
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class ConfigurationBlobConfigBlobStorageCleanUp
    {

        private byte deleteFileAfterField;

        private string notificationMailField;

        private string emailRecipientsField;

        /// <remarks/>
        public byte DeleteFileAfter
        {
            get
            {
                return this.deleteFileAfterField;
            }
            set
            {
                this.deleteFileAfterField = value;
            }
        }

        /// <remarks/>
        public string NotificationMail
        {
            get
            {
                return this.notificationMailField;
            }
            set
            {
                this.notificationMailField = value;
            }
        }

        /// <remarks/>
        public string EmailRecipients
        {
            get
            {
                return this.emailRecipientsField;
            }
            set
            {
                this.emailRecipientsField = value;
            }
        }
    }

}



and My code

C#
XmlSerializer serializer = new XmlSerializer(typeof(List<Configuration>));
XmlReader OXmlReader = XmlReader.Create(filePath);
List<Configuration> OBlobConfig = (List<Configuration>)serializer.Deserialize(OXmlReader);


I try to parse using above code. if do this instead of above

C#
string filePath = "ConfigurationDataStructure.xml";
XmlSerializer serializer = new XmlSerializer(typeof(Configuration);         
XmlReader OXmlReader = XmlReader.Create(filePath);            
BlobConfig OBlobConfig = (Configuration)serializer.Deserialize(OXmlReader);            
Console.ReadKey();


then it works but only work for id 101. so want to read all like id 101 & 102 but giving error

xmlns=''> was not expected.
Posted
Updated 6-May-14 0:35am
v3
Comments
Abhishek Pant 6-May-14 5:49am    
Please parse your syntax for xml http://www.w3schools.com/dom/dom_validate.asp
Vi(ky 6-May-14 6:15am    
thanks for the reply. I correct my xml file but the problem remain same then i according to this http://calvinirwin.net/2011/02/10/xmlserialization-deserialize-causes-xmlns-was-not-expected/

XmlSerializer serializer = new XmlSerializer(typeof(List<configuration>), xRoot);
XmlReader OXmlReader = XmlReader.Create(filePath);
List<configuration> OBlobConfig = (List<configuration>)serializer.Deserialize(OXmlReader);

but OBlobConfig is showing null

1 solution

This code solve my problem

C#
XmlSerializer serializer = new XmlSerializer(typeof(BlobConfigData), new XmlRootAttribute("Configuration"));
XmlReader OXmlReader = XmlReader.Create(filePath);
var OBlobConfig = (BlobConfigData)serializer.Deserialize(OXmlReader);
OXmlReader.Close();
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900