首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

小弟我在WEB SERVICE里定义了一个方法的返回类型是XmlDocument,但在客户端引用的时候该方法返回类型成了XmlNode

2012-12-15 
我在WEB SERVICE里定义了一个方法的返回类型是XmlDocument,但在客户端引用的时候该方法返回类型成了XmlNod

我在WEB SERVICE里定义了一个方法的返回类型是XmlDocument,但在客户端引用的时候该方法返回类型成了XmlNode
我在WEB SERVICE里定义了一个方法的返回类型是XmlDocument,但在客户端引用的时候该方法返回类型成了XmlNode?为什么呢,哪里出错了吗?
[最优解释]
如果可能,尽量不要返回这种系统类型,它们是复杂的带有行为的类。这样的类不合适用作数据合同类。最好是自定义的纯数据类。做 service,数据合同应该专注在数据结构。
[其他解释]

引用:
引用:XmlDocument就是从XmlNode继承的,XmlNode也能完成很多事情。有什么做不了吗?

如果一定要XmlDocument,可以用String作为参数或者返回值,自己做Serialize和Deserialize。

能否给我个简单的序列化跟反序列化的例子,还不懂


你的情况不用都不用序列化和反序列化。

服务器端返回doc.DocumentElement.OuterXml
客户端用XmlDocument doc = new XmlDocument(); doc.LoadXml(service端的返回值);
[其他解释]
可以以字符串方式返回,至于这个字符串的内容可以用序列化来实现(当然为了减少转输量可以自个拼凑成XML格式或Json格式)
,再客户端做解析。
[其他解释]
你调用方法不对吧
[其他解释]
引用:
你调用方法不对吧

webservice


 public class MZJWebService : System.Web.Services.WebService
    {
       [WebMethod(Description ="家庭信息")]
        public System.Xml.XmlDocument Getdt_new_JZ_FAMILY()
        {
            MZJWebApp.XmlService.MZJJZ so = new XmlService.MZJJZ();
            System.Xml.XmlDocument doc = so.JZ_FAMILYInfomation("2010-01-08", "2012-10-09");
            return doc;
        }
    }


前台主要代码
  

MZJWebService ws = new MZJWebService();
            XmlDocument xml = new XmlDocument();
            xml=ws.Getdt_new_JZ_FAMILY();

报错:
错误
xml=ws.Getdt_new_JZ_FAMILY();
1无法将类型“System.Xml.XmlNode”隐式转换为“System.Xml.XmlDocument”。存在一个显式转换(是否缺少强制转换?)
[其他解释]
引用:
你调用方法不对吧



发现问题了,原来我在添加引用之后,会自动转成xmlnode格式反映到客户端~不知道怎么改
[其他解释]
咋没人呢,求助啊
[其他解释]
XmlDocument就是从XmlNode继承的,XmlNode也能完成很多事情。有什么做不了吗?

如果一定要XmlDocument,可以用String作为参数或者返回值,自己做Serialize和Deserialize。
[其他解释]
引用:
XmlDocument就是从XmlNode继承的,XmlNode也能完成很多事情。有什么做不了吗?

如果一定要XmlDocument,可以用String作为参数或者返回值,自己做Serialize和Deserialize。


能否给我个简单的序列化跟反序列化的例子,还不懂

热点排行