Pages

Showing posts with label xml writer. Show all posts
Showing posts with label xml writer. Show all posts

Monday, September 2, 2013

Create XML using XML Writer


 Create Datatable with Data :

  private DataTable createDT()
    {
        // Initialise Datatable
        DataTable dt = new DataTable("root");
        // add columns with their Datatypes
        dt.Columns.Add("title", Type.GetType("System.String"));                     
        dt.Columns.Add("metakeyword", Type.GetType("System.String"));            
        dt.Columns.Add("metadescription", Type.GetType("System.String"));
        dt.Columns.Add("heading", Type.GetType("System.String"));
        dt.Columns.Add("albumurl", Type.GetType("System.String"));
        dt.Columns.Add("noofimg", Type.GetType("System.String"));
        dt.Columns.Add("albumname", Type.GetType("System.String"));
        dt.Columns.Add("date", Type.GetType("System.String"));
        dt.Columns.Add("imagename", Type.GetType("System.String"));
        dt.Columns.Add("imageurl", Type.GetType("System.String"));
        dt.Columns.Add("position", Type.GetType("System.String"));
        dt.Columns.Add("imagealbumname", Type.GetType("System.String"));

        DataRow dr = dt.NewRow();
        dr["title"] = "fafasf";
        dr["metakeyword"] = "dfvvbb";
        dr["metadescription"] = "qwert";
        dr["heading"] = "vgttt";
        dr["albumurl"] = "1313";
        dr["noofimg"] = "asdad";
        dr["albumname"] = "opopi";
        dr["date"] = "t56647";
        dr["imagename"] = "gfgfg";
        dr["imageurl"] = "jhkhjk";
        dr["position"] = "kjhjk";
        dr["imagealbumname"] = "etert";

        dt.Rows.Add(dr);
        return dt;
    }


Create XML from Datatable as you want :

 private void WriteXML(DataTable dt)
    {
        using (XmlWriter writer = XmlWriter.Create(MapPath("my.xml")))           // creates 'employee.xml' to write data from datatable
        {
            int i = 0;
            writer.WriteStartDocument();
            writer.WriteStartElement(dt.TableName);                                        // create root node

            for (; i < 8; i++)
            {
                writer.WriteElementString(dt.Columns[i].ColumnName, dt.Rows[0][i].ToString());
            }

            writer.WriteStartElement("Gallery");

            for (; i < dt.Columns.Count; i++)                                                    // create sub root..
            {
                writer.WriteElementString(dt.Columns[i].ColumnName, dt.Rows[0][i].ToString());
            }
            writer.WriteEndElement();
            writer.WriteEndElement();                                              // end root node
            writer.WriteEndDocument();
        }
    }





Call:

protected void Page_Load(object sender, EventArgs e)
    {
                  WriteXML(createDT());
     }



Output :

my.xml

<?xml version="1.0" encoding="utf-8"?>
<root>
  <title>fafasf</title>
  <metakeyword>dfvvbb</metakeyword>
  <metadescription>qwert</metadescription>
  <heading>vgttt</heading>
  <albumurl>1313</albumurl>
  <noofimg>asdad</noofimg>
  <albumname>opopi</albumname>
  <date>t56647</date>
  <Gallery>
    <imagename>gfgfg</imagename>
    <imageurl>jhkhjk</imageurl>
    <position>kjhjk</position>
    <imagealbumname>etert</imagealbumname>
  </Gallery>
</root>