WebService传XML
传送
??? [WebMethod]
??? public XmlDataDocument GetSiteAData(string AssignName)
??? {
??????? XmlDataDocument xd = new XmlDataDocument();
??????? DataSet ds = BusinessWork.BusinessWorkDataSet("TreeView1");
??????????? xd = new XmlDataDocument(ds);
??????????? XmlNode root1 = xd.DocumentElement;
??????????? XmlNodeList roots = root1.SelectNodes("url");
??????????? foreach (XmlNode roota in roots)? //为所有元素加上站点名称标记
??????????? {
??????????????? XmlElement Link = xd.CreateElement("SiteName");
??????????????? Link.InnerText = ConfigurationSettings.AppSettings["SiteName"].ToString();
??????????????? roota.AppendChild(Link);
??????????? }
??????? return xd;
??? }
异步调用
??????? IAsyncResult ar1;
??????? IAsyncResult ar2;
??????? localhost.WebService serviceA = new localhost.WebService();
??????? XmlNode xmlNode1;
??????? XmlNode xmlNode2;
??????? ////直接调用
??????? //xmlNode1 = serviceA.GetSiteAData("2");
??????? //异步调用
??????? ar1 = serviceA.BeginGetSiteAData("3",null,null);
??????? ar2 = serviceA.BeginGetSiteAData("2",null);
??????? xmlNode1 = serviceA.EndGetSiteAData(ar1);
??????? xmlNode2 = serviceA.EndGetSiteAData(ar2);
??????? StringBuilder xmlString1;
??????? xmlString1 = new StringBuilder(xmlNode1.OuterXml);
??????? XmlDataDocument xd = new XmlDataDocument();
??????? xd.LoadXml(xmlString1.ToString());
??????? DataSet ds = new DataSet();??????? ds.ReadXml(new XmlNodeReader(xd));??????? GridView1.DataSource = ds.Tables[0];??????? GridView1.DataBind();