最近开始写WebService的客户端模块,客户十分的麻烦要求在客户端修改获得的数据再显示。但是我的WebService接口返回的是XML格式的String类型的数据,它是DataSet的对象引用的GetXML()的返回值。在客户端修改颇为不易。
private void Button5_Click(object sender, System.EventArgs e)
{
string strXml=string.Empty ;
string strPath=string.Empty ;
DataSet ds=null;
//WebService对象引用
s1=new NewService();
strXml=s1.SearchAreaInfo (tbCompanyID.Text ,tbUserName.Text,tbPassword.Text);
//对XML文档的处理发现有上次使用的文档就删除
if(File.Exists(Server.MapPath("WriterXMLData.XML")))
{
File.Delete(Server.MapPath("WriterXMLData.XML"));
}
else
{}
//建立新的XML文档
XmlTextWriter xmlwriter=new XmlTextWriter(Server.MapPath("WriterXMLData.XML"),Encoding.UTF8);
xmlwriter.WriteProcessingInstruction("xml","version='1.0' encoding='utf-8'");
xmlwriter.Close();
//向XML文档写入数据
TextWriter writer=new StreamWriter("C:\\Inetpub\\wwwroot\\TestServiceByASPDOTNET\\WriterXMLData.XML");
writer.Write(strXml);
writer.Flush();
writer.Close();
//使用DOM模型操作XML文档
XmlDocument doc;
doc=new XmlDocument();
doc.Load(Server.MapPath("WriterXMLData.XML"));
XmlNodeList xnl=doc.SelectSingleNode("AreaList").ChildNodes;
//遍历XML文档
foreach(XmlNode xn in xnl)
{//处理数据.......
}
doc.Save(Server.MapPath("WriterXMLData.XML"));
//动态建立DataSet的对象引用
using(ds=new DataSet("XML"))
{
ds.ReadXml(Server.MapPath("WriterXMLData.XML"));
//绑定数据源
this.DataGrid1.DataSource=ds.Tables[0];
this.DataGrid1.DataBind();
ds.Clear();
}
}
这样的写法在不是频繁调用的情况下还是很好用的!
private void Button5_Click(object sender, System.EventArgs e)
{
string strXml=string.Empty ;
string strPath=string.Empty ;
DataSet ds=null;
//WebService对象引用
s1=new NewService();
strXml=s1.SearchAreaInfo (tbCompanyID.Text ,tbUserName.Text,tbPassword.Text);
//对XML文档的处理发现有上次使用的文档就删除
if(File.Exists(Server.MapPath("WriterXMLData.XML")))
{
File.Delete(Server.MapPath("WriterXMLData.XML"));
}
else
{}
//建立新的XML文档
XmlTextWriter xmlwriter=new XmlTextWriter(Server.MapPath("WriterXMLData.XML"),Encoding.UTF8);
xmlwriter.WriteProcessingInstruction("xml","version='1.0' encoding='utf-8'");
xmlwriter.Close();
//向XML文档写入数据
TextWriter writer=new StreamWriter("C:\\Inetpub\\wwwroot\\TestServiceByASPDOTNET\\WriterXMLData.XML");
writer.Write(strXml);
writer.Flush();
writer.Close();
//使用DOM模型操作XML文档
XmlDocument doc;
doc=new XmlDocument();
doc.Load(Server.MapPath("WriterXMLData.XML"));
XmlNodeList xnl=doc.SelectSingleNode("AreaList").ChildNodes;
//遍历XML文档
foreach(XmlNode xn in xnl)
{//处理数据.......
}
doc.Save(Server.MapPath("WriterXMLData.XML"));
//动态建立DataSet的对象引用
using(ds=new DataSet("XML"))
{
ds.ReadXml(Server.MapPath("WriterXMLData.XML"));
//绑定数据源
this.DataGrid1.DataSource=ds.Tables[0];
this.DataGrid1.DataBind();
ds.Clear();
}
}
这样的写法在不是频繁调用的情况下还是很好用的!