Introduction :-
In this article i am explain how i can create a xml file dynamically in asp.net .
Description :-
In my previous article i have explained how i can read the XML file in asp.net.Know i will explain how i can write data in XML file and read from the XML file which data i have inserted .
Note :- You have no need to create a xml file manually at the running time automatically create the XML file .
Aspx Design code as shown below
Include the name space in code behind file for xml read and writer and Encoding.UTF8
as shown below
Code behind file code as shown below
Output as shown below
After Insert the Record into the textbox and press the button Write XML File And Click on Read XML File as shown below
In this article i am explain how i can create a xml file dynamically in asp.net .
Description :-
In my previous article i have explained how i can read the XML file in asp.net.Know i will explain how i can write data in XML file and read from the XML file which data i have inserted .
Note :- You have no need to create a xml file manually at the running time automatically create the XML file .
Aspx Design code as shown below
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="read_write_xmlfile.aspx.cs" Inherits="read_write_xmlfile" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Read and write into xml file</title>
<style type="text/css">
.style1
{
text-align: left;
}
.style2
{
color: #FFFFFF;
background-color:Olive;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<center>
<div>
<b style="text-align: left"><span class="style2">Read Write XML File in Asp.Net<br />
<br />
<br />
</span></b><br /></div>
<table width="50%"><tr><td width="50%" valign="top">
<b>Employee Details:</b><br /><br />
<table>
<tr><td>Name:</td>
<td><asp:Textbox id="txtName" runat="server"/></td></tr>
<tr><td>Department: </td>
<td><asp:Textbox id="txtDept" runat="server"/></td></tr>
<tr><td>Location: </td>
<td><asp:Textbox id="txtLocation" runat="server"/></td></tr>
<tr><td colspan="2" align="right">
<asp:Button ID="btnWriteXml" runat="server" Text="Write XML File"
onclick="btnWriteXml_Click" style="height: 26px"/>
</td></tr></table></td>
<td width="50%" valign="top">Read XML File :
<asp:Button id="btnReadXml" text="Read XML File" runat="server"
onclick="btnReadXml_Click"/>
<br/>
<asp:label id="lblXml" runat="server"/></td></tr>
</table>
</div>
</center>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Read and write into xml file</title>
<style type="text/css">
.style1
{
text-align: left;
}
.style2
{
color: #FFFFFF;
background-color:Olive;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<center>
<div>
<b style="text-align: left"><span class="style2">Read Write XML File in Asp.Net<br />
<br />
<br />
</span></b><br /></div>
<table width="50%"><tr><td width="50%" valign="top">
<b>Employee Details:</b><br /><br />
<table>
<tr><td>Name:</td>
<td><asp:Textbox id="txtName" runat="server"/></td></tr>
<tr><td>Department: </td>
<td><asp:Textbox id="txtDept" runat="server"/></td></tr>
<tr><td>Location: </td>
<td><asp:Textbox id="txtLocation" runat="server"/></td></tr>
<tr><td colspan="2" align="right">
<asp:Button ID="btnWriteXml" runat="server" Text="Write XML File"
onclick="btnWriteXml_Click" style="height: 26px"/>
</td></tr></table></td>
<td width="50%" valign="top">Read XML File :
<asp:Button id="btnReadXml" text="Read XML File" runat="server"
onclick="btnReadXml_Click"/>
<br/>
<asp:label id="lblXml" runat="server"/></td></tr>
</table>
</div>
</center>
</form>
</body>
</html>
Include the name space in code behind file for xml read and writer and Encoding.UTF8
as shown below
using System.Xml; //for xml
using System.Text; //Encoding.UTF8
using System.Text; //Encoding.UTF8
Code behind file code as shown below
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml; //for xml
using System.Text; //Encoding.UTF8
public partial class read_write_xmlfile : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnWriteXml_Click(object sender, EventArgs e)
{
XmlTextWriter xmlWriter = new XmlTextWriter(Server.MapPath("EmployeeDetails.xml"), Encoding.UTF8);
xmlWriter.WriteStartDocument();
//Create Parent element
xmlWriter.WriteStartElement("EmployeeDetails");
//Create Child elements
xmlWriter.WriteStartElement("Details");
xmlWriter.WriteElementString("Name", txtName.Text);
xmlWriter.WriteElementString("Department", txtDept.Text);
xmlWriter.WriteElementString("Location", txtLocation.Text);
xmlWriter.WriteEndElement();
//End writing top element and XML document
xmlWriter.WriteEndElement();
xmlWriter.WriteEndDocument();
xmlWriter.Close();
txtDept.Text = "";
txtLocation.Text = "";
txtName.Text = "";
}
protected void btnReadXml_Click(object sender, EventArgs e)
{
ReadXmlFile(Server.MapPath("EmployeeDetails.xml"));
}
protected void ReadXmlFile(string xmlFile)
{
string parentElementName = "";
string childElementName = "";
string childElementValue = "";
bool element = false;
lblXml.Text = "";
XmlTextReader xmlReader = new XmlTextReader(xmlFile);
while (xmlReader.Read())
{
if (xmlReader.NodeType == XmlNodeType.Element)
{
if (element)
{
parentElementName = parentElementName + childElementName + "<br/>";
}
element = true;
childElementName = xmlReader.Name;
}
else if (xmlReader.NodeType == XmlNodeType.Text | xmlReader.NodeType == XmlNodeType.CDATA)
{
element = false;
childElementValue = xmlReader.Value;
lblXml.Text = lblXml.Text + "<b>" + parentElementName + "<br/>" + childElementName + "</b><br/>" + childElementValue;
parentElementName = "";
childElementName = "";
}
}
xmlReader.Close();
}
}
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml; //for xml
using System.Text; //Encoding.UTF8
public partial class read_write_xmlfile : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnWriteXml_Click(object sender, EventArgs e)
{
XmlTextWriter xmlWriter = new XmlTextWriter(Server.MapPath("EmployeeDetails.xml"), Encoding.UTF8);
xmlWriter.WriteStartDocument();
//Create Parent element
xmlWriter.WriteStartElement("EmployeeDetails");
//Create Child elements
xmlWriter.WriteStartElement("Details");
xmlWriter.WriteElementString("Name", txtName.Text);
xmlWriter.WriteElementString("Department", txtDept.Text);
xmlWriter.WriteElementString("Location", txtLocation.Text);
xmlWriter.WriteEndElement();
//End writing top element and XML document
xmlWriter.WriteEndElement();
xmlWriter.WriteEndDocument();
xmlWriter.Close();
txtDept.Text = "";
txtLocation.Text = "";
txtName.Text = "";
}
protected void btnReadXml_Click(object sender, EventArgs e)
{
ReadXmlFile(Server.MapPath("EmployeeDetails.xml"));
}
protected void ReadXmlFile(string xmlFile)
{
string parentElementName = "";
string childElementName = "";
string childElementValue = "";
bool element = false;
lblXml.Text = "";
XmlTextReader xmlReader = new XmlTextReader(xmlFile);
while (xmlReader.Read())
{
if (xmlReader.NodeType == XmlNodeType.Element)
{
if (element)
{
parentElementName = parentElementName + childElementName + "<br/>";
}
element = true;
childElementName = xmlReader.Name;
}
else if (xmlReader.NodeType == XmlNodeType.Text | xmlReader.NodeType == XmlNodeType.CDATA)
{
element = false;
childElementValue = xmlReader.Value;
lblXml.Text = lblXml.Text + "<b>" + parentElementName + "<br/>" + childElementName + "</b><br/>" + childElementValue;
parentElementName = "";
childElementName = "";
}
}
xmlReader.Close();
}
}
Output as shown below
After Insert the Record into the textbox and press the button Write XML File And Click on Read XML File as shown below
Download sample code attached
No comments:
Post a Comment