WebService生成XML文档时出错。不应是类型XXXX。使用XmlInclude或SoapInclude属性静态指定非已知的类型。

情况是SingleRoom和DoubleRoom是Room类的子类。在WebService中有一个方法是返回Room类。

public Room Get(int roomId)
{
    return Room.Get(roomId);
}

XmlSerializer在序列化时只能识别父类,而不能识别子类,所以导致序列化的错误。需要将[XmlInclude(typeof(SingleRoom))]和[XmlInclude(typeof(DoubleRoom))]同时加到WebService中。

[XmlInclude(typeof(SingleHouse))]
[XmlInclude(typeof(DoubleHouse))]
public class RoomService : System.Web.Services.WebService

原文地址:https://www.cnblogs.com/chenh/p/10295999.html

时间: 2024-08-25 20:19:28

WebService生成XML文档时出错。不应是类型XXXX。使用XmlInclude或SoapInclude属性静态指定非已知的类型。的相关文章

C# 在根据窗体中的表格数据生成word文档时出错

出错内容为:   有关调用实时(JIT)调试而不是此对话框的详细信息, 请参见此消息的结尾. ************** 异常文本 ************** System.BadImageFormatException: 未能加载文件或程序集“Interop.Word, Version=8.1.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项.试图加载格式不正确的程序. 文件名:“Interop.Word, Version=8.1.0.

javadoc 生成帮助文档时,注意以下几点

参考:http://www.w3school.com.cn/tags/tag_pre.asp javadoc 生成帮助文档时,注意以下几点: 1.函数功能描述的结尾一定要有句号,英文句号或中文句号均可.不然会有方法摘要里会出现后边一大片内容. 2.换行用<p> 3.<pre> 元素可定义预格式化的文本.被包围在 pre 元素中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. public class JavadocDemo { /** * 这个函数的功能是返回你输入的字符串

解析XML文档时Node和Element的区别

文档对象模型DOM(Document Object Module)定义了用户操作文档对象的接口,它使得用户对HTML有了空前的访问能力,并使开发者能将HTML作为XML文档来处理. 使用C++的TinyXML解析XML文档时,会有两套方法,一套操作Node,一套操作Element. Node(节点)是DOM层次结构中的任何类型的对象的通用名称,Node有很多类型,如元素节点,属性节点,文本节点,注释节点等,通过NodeType区分,常见的有: 节点类型 NodeType 元素Element 1

生成XML文档

JAVA操作XML文档主要有四种方式,分别是DOM.SAX.JDOM和DOM4J,DOM和SAX是官方提供的,而JDOM和DOM4J则是引用第三方库的,其中用的最多的是DOM4J方式.运行效率和内存使用方面最优的是SAX,但是由于SAX是基于事件的方式,所以SAX无法在编写XML的过程中对已编写内容进行修改,但对于不用进行频繁修改的需求,还是应该选择使用SAX. 现在来生成这样的一份XML文档,文档内容如下: <?xml version="1.0" encoding="

dom4j解析和生成XML文档

解析XML的两种方法 package cnslp.dom4j.com; import java.io.File; import java.util.Iterator; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; /**  * Created by cnslp on 2017/5/12 0012.  * 解析XML文档的

(九)生成XML文档流程

一:DOM方法生成XML 步骤: 1:创建DocumentBuilder:DocumentBuilder builder=new DocumentBuilder(); 2:创建dom对象:Document dom=builder.newDocument(); 3:创建dom中元素:Element element=dom.createElement("元素名"); 4:向元素添加子节点:element.appendChild(childElement);(dom树就是通过不停append

当xml中存在命名空间,dom4j解析以及写入xml文档时的乱码问题

最近公司项目开发中需要通过前台用户界面进行客户业务系统的部署(提供界面化操作,减少运维工作的难度),通过修改web.xml进行设置各个项目不同的信息配置. 开发过程中遇到2种问题,同时将解决方案备注上,以方便日后查看. 问题一:当xml中存在命名空间,三种处理办法(dom4j) 问题二:文件保存之后总是提示中文乱码问题 针对上面2个问题的解决方案进行汇总,解决方法主要还是来自于其他网络同行的博客. 第一个 问题主要参照 博客http://blog.sina.com.cn/s/blog_5cef6

ASP.NET 动态查找数据 并且生成xml文档 同时使用xslt转换为xhtml

前言 xsl是一门标签解析语言,很适合做动态网页的前台标签 www.bamn.cn 1 首先是aspx页面 添加一个输入框 按钮 还有一个用来显示解析后的xhtml代码的控件 <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine"

显示XML文档时排序数据

先看XML文档: 也可拷贝下面代码另存为XMl文档: <stepList> <steps> <step> <order>1</order> <stepName>基丰盛的</stepName> </step> <step> <order>3</order> <stepName>个个个个</stepName> </step> <step&