我的WebService返回的类型不一致

todayclock 2011-10-15 05:19:12
今天写了个测试自动升级的WebService, 可以看下。
为什么GetUpdateData()返回的不是System.Xml.XmlDocument 而是System.Xml.XmlNode
WebService改过之后再更新还不行。。
这个还有问题。。

[WebMethod(Description = "在线更新软件")]
public System.Xml.XmlDocument GetUpdateData()
{
//取得更新的xml模板内容
XmlDocument doc = new XmlDocument();
//处理操作
return doc;
}

...全文
107 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
todayclock 2011-10-15
  • 打赏
  • 举报
回复
我好像明白了点。
转到定义就是返回的xmlNode
public System.Xml.XmlNode GetUpdateData() {
object[] results = this.Invoke("GetUpdateData", new object[0]);
return ((System.Xml.XmlNode)(results[0]));
}
todayclock 2011-10-15
  • 打赏
  • 举报
回复
调用的时候System.Xml.XmlDocument doc = test.GetUpdateData();
一直都是编译错误。。
System.Xml.XmlNode”隐式转换为“System.Xml.XmlDocument”。存在一个显式转换(是否缺少强制转换?)
我都不知道XmlNode在那里来的。
todayclock 2011-10-15
  • 打赏
  • 举报
回复
这个方法全部代码

[WebMethod(Description = "在线更新软件")]
public System.Xml.XmlDocument GetUpdateData()
{
//取得更新的xml模板内容
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("update.xml"));
XmlElement root = doc.DocumentElement;
//看看有几个文件需要更新
XmlNode updateNode = root.SelectSingleNode("filelist");
string path = updateNode.Attributes["sourcepath"].Value;
int count = int.Parse(updateNode.Attributes["count"].Value);
//将xml中的value用实际内容替换
for (int i = 0; i < count; i++)
{
XmlNode itemNode = updateNode.ChildNodes[i];
string fileName = path + itemNode.Attributes["name"].Value;
FileStream fs = File.OpenRead(Server.MapPath(fileName));
itemNode.Attributes["size"].Value = fs.Length.ToString();
BinaryReader br = new BinaryReader(fs);
//这里是文件的实际内容,使用了Base64String编码
itemNode.SelectSingleNode("value").InnerText =
Convert.ToBase64String(br.ReadBytes((int)fs.Length), 0, (int)fs.Length);
br.Close();
fs.Close();
}
return doc;
}
menghuanchiyue 2011-10-15
  • 打赏
  • 举报
回复
添加节点试试

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧