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, 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();

原文地址:https://www.cnblogs.com/cuihongyu3503319/p/623682.html