小弟我在WEB SERVICE里定义了一个方法的返回类型是XmlDocument,但在客户端引用的时候该方法返回类型成了XmlNode
我在WEB SERVICE里定义了一个方法的返回类型是XmlDocument,但在客户端引用的时候该方法返回类型成了XmlNod
我在WEB SERVICE里定义了一个方法的返回类型是XmlDocument,但在客户端引用的时候该方法返回类型成了XmlNode
我在WEB SERVICE里定义了一个方法的返回类型是XmlDocument,但在客户端引用的时候该方法返回类型成了XmlNode?为什么呢,哪里出错了吗?
[最优解释]
如果可能,尽量不要返回这种系统类型,它们是复杂的带有行为的类。这样的类不合适用作数据合同类。最好是自定义的纯数据类。做 service,数据合同应该专注在数据结构。
[其他解释]
你的情况不用都不用序列化和反序列化。
服务器端返回doc.DocumentElement.OuterXml
客户端用XmlDocument doc = new XmlDocument(); doc.LoadXml(service端的返回值);
[其他解释]可以以字符串方式返回,至于这个字符串的内容可以用序列化来实现(当然为了减少转输量可以自个拼凑成XML格式或Json格式)
,再客户端做解析。
[其他解释]你调用方法不对吧
[其他解释]
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。
[其他解释]能否给我个简单的序列化跟反序列化的例子,还不懂