in the previous aticle show how to create Web Service.
Here is how to show the record from web service to client browser in XML with header node and detail node
1. Open Visual Studio
2. Create new empty web site
3. Add new item , add aspx page into web site
4. Add service reference (add the above web service url ) and given name to web refrence
5. Drag and Drop a testbox into aspx page
5. Drag and Drop a Button into aspx page
6. in the code behind, need to add function for header node and detail node as below
//-------------Detailed Node -----------------//
private void createDNode(string empid, string name, string deptid, string deptname, string email,
XmlTextWriter writer)
{
writer.WriteStartElement("Detail");
writer.WriteStartElement("empid");
writer.WriteString(empid);
writer.WriteEndElement();
writer.WriteStartElement("ename");
writer.WriteString(name);
writer.WriteEndElement();
writer.WriteStartElement("deptid");
writer.WriteString(deptid);
writer.WriteEndElement();
writer.WriteStartElement("deptname");
writer.WriteString(deptname);
writer.WriteEndElement();
writer.WriteStartElement("email");
writer.WriteString(email);
writer.WriteEndElement();
}
//---------------------Header Node ----------------//
private void createHNode(string pID, string pName, XmlTextWriter writer)
{
writer.WriteStartElement("Header");
writer.WriteStartElement("Name");
writer.WriteString(pID);
writer.WriteEndElement();
writer.WriteStartElement("Dept");
writer.WriteString(pName);
writer.WriteEndElement();
}
6 on button click event, add the below code
DataSet dsResult = new DataSet();
XmlElement exelement = webService .GetEmployeesDetails(textbox.Text);
XmlNodeReader nodeReader = new XmlNodeReader(exelement);
dsResult.ReadXml(nodeReader, XmlReadMode.Auto);
Xml xml = new Xml();
XmlTextWriter writer = new XmlTextWriter( textbox.Text + ".xml", System.Text.Encoding.UTF8);
writer.WriteStartDocument(true);
writer.Formatting = Formatting.Indented;
writer.Indentation = 2;
writer.WriteStartElement("Table");
createHNode(From, Dest, writer);
for (int i = 0; i < dsResult.Tables[0].Rows.Count; i++)
{
createDNode(dsResult.Tables[0].Rows[i][0].ToString(), dsResult.Tables[0].Rows[i][0].ToString(), dsResult.Tables[0].Rows[i][0].ToString(), dsResult.Tables[0].Rows[i][0].ToString(), dsResult.Tables[0].Rows[i][0].ToString(), writer);
}
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
Response.Clear();
Response.Buffer = true;
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/xml";
Response.WriteFile(Server.MapPath("~/New folder/"+ textbox.Text +".xml"));
Response.Flush();
Response.End();
Here is how to show the record from web service to client browser in XML with header node and detail node
1. Open Visual Studio
2. Create new empty web site
3. Add new item , add aspx page into web site
4. Add service reference (add the above web service url ) and given name to web refrence
5. Drag and Drop a testbox into aspx page
5. Drag and Drop a Button into aspx page
6. in the code behind, need to add function for header node and detail node as below
//-------------Detailed Node -----------------//
private void createDNode(string empid, string name, string deptid, string deptname, string email,
XmlTextWriter writer)
{
writer.WriteStartElement("Detail");
writer.WriteStartElement("empid");
writer.WriteString(empid);
writer.WriteEndElement();
writer.WriteStartElement("ename");
writer.WriteString(name);
writer.WriteEndElement();
writer.WriteStartElement("deptid");
writer.WriteString(deptid);
writer.WriteEndElement();
writer.WriteStartElement("deptname");
writer.WriteString(deptname);
writer.WriteEndElement();
writer.WriteStartElement("email");
writer.WriteString(email);
writer.WriteEndElement();
}
//---------------------Header Node ----------------//
private void createHNode(string pID, string pName, XmlTextWriter writer)
{
writer.WriteStartElement("Header");
writer.WriteStartElement("Name");
writer.WriteString(pID);
writer.WriteEndElement();
writer.WriteStartElement("Dept");
writer.WriteString(pName);
writer.WriteEndElement();
}
6 on button click event, add the below code
DataSet dsResult = new DataSet();
XmlElement exelement = webService .GetEmployeesDetails(textbox.Text);
XmlNodeReader nodeReader = new XmlNodeReader(exelement);
dsResult.ReadXml(nodeReader, XmlReadMode.Auto);
Xml xml = new Xml();
XmlTextWriter writer = new XmlTextWriter( textbox.Text + ".xml", System.Text.Encoding.UTF8);
writer.WriteStartDocument(true);
writer.Formatting = Formatting.Indented;
writer.Indentation = 2;
writer.WriteStartElement("Table");
createHNode(From, Dest, writer);
for (int i = 0; i < dsResult.Tables[0].Rows.Count; i++)
{
createDNode(dsResult.Tables[0].Rows[i][0].ToString(), dsResult.Tables[0].Rows[i][0].ToString(), dsResult.Tables[0].Rows[i][0].ToString(), dsResult.Tables[0].Rows[i][0].ToString(), dsResult.Tables[0].Rows[i][0].ToString(), writer);
}
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
Response.Clear();
Response.Buffer = true;
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/xml";
Response.WriteFile(Server.MapPath("~/New folder/"+ textbox.Text +".xml"));
Response.Flush();
Response.End();

