Convert XML to C# List

/* --- The Xml File ----- */
/* XML/EmailProviders.xml */
/* --- The Xml File ----- */
<xml version="1.0" encoding="utf-8" ?>
<providers>
  <provider>
    <text>Gmailtext>
    <value>Gmailvalue>
    <enabled>1enabled>
    <default>0default>
  <provider>
  <provider>
    <text>LinkedIntext>
    <value>LinkedInvalue>
    <enabled>1enabled>
    <default>1default>
  <provider>
<providers>





using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Threading;
using System.Xml;
using System.Collections.Generic;

public partial class _Default : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
           
        }
    }
   
    protected void Button1_Click1(object sender, EventArgs e)
    {
        List<EmailProvider> list = new List<EmailProvider>();

        String FileName = Server.MapPath("XML/EmailProviders.xml");
        XmlTextReader tr = new XmlTextReader(FileName);
       
        while (tr.Read())
        {
            EmailProvider obj = new EmailProvider();
            if (tr.MoveToContent() == XmlNodeType.Element && tr.Name == "text")
            {
                obj.Text = tr.ReadElementString();
               
            }
            if (tr.MoveToContent() == XmlNodeType.Element && tr.Name == "value")
            {
                obj.Value = tr.ReadElementString();
            }
            if (tr.MoveToContent() == XmlNodeType.Element && tr.Name == "enabled")
            {
                obj.Enabled = tr.ReadElementString() == "1" ? true : false;
            }
            if (tr.MoveToContent() == XmlNodeType.Element && tr.Name == "default")
            {
                obj.Default = tr.ReadElementString() == "1" ? true : false;
            }

            if(!String.IsNullOrEmpty(obj.Text))
                list.Add(obj);
        }
    }

    public class EmailProvider
    {
        public string Text;
        public string Value;
        public Boolean Enabled;
        public Boolean Default;
    }
}



Comments

Popular posts from this blog

WPF How to Dispose ViewModel when the associated UserControl (Not Window) closes?

C# How to unit test Dispatcher

WPF: How to Deep Copy WPF object (e.g. UIElement) ?