public static String MakeUpdateXml ( String UpdateApiUrl, String Action, String SoftwarePath, WebProxy Proxy, String[] SoftwareNameList, Int32 ProcessId, String AboutUsText, String AboutUsName, String AboutUsUrl ) { XmlTreeNode root = new XmlTreeNode("aaaSoft.Updater"); root.AddItem("UpdateApiUrl", UpdateApiUrl); root.AddItem("Action", Action); root.AddItem("Folder", SoftwarePath); root.AddItem("AboutUsText", AboutUsText); root.AddItem("AboutUsName", AboutUsName); root.AddItem("AboutUsUrl", AboutUsUrl); //代理 if (Proxy != null) { XmlTreeNode tnProxy = root.AddItem("ProxySetting"); tnProxy.AddItem("ProxyHost", Proxy.Address.Host); tnProxy.AddItem("ProxyPort", Proxy.Address.Port.ToString()); if (Proxy.Credentials != null) { NetworkCredential nc = (NetworkCredential)Proxy.Credentials; tnProxy.AddItem("ProxyUserName", nc.UserName); tnProxy.AddItem("ProxyPassword", nc.Password); tnProxy.AddItem("ProxyDomain", nc.Domain); } } XmlTreeNode tnSoftwareList = root.AddItem("SoftwareList"); foreach (var SoftwareName in SoftwareNameList) { var tnSoftware = tnSoftwareList.AddItem("Software"); tnSoftware.AddItem("Name", SoftwareName); } if (ProcessId > 0) { root.AddItem("ProcessId", ProcessId.ToString()); } return(XmlTreeNode.GenerateXml(root, Encoding.UTF8)); }