C#在XmlType()属性中使用特殊字符转义XmlType名称

时间:2016-12-14 13:54:05

标签: c# xml xmlserializer xmltype

我需要在不使用WSDL的情况下实现和SOAP服务(因为它已经破坏而且不会被修复)。 现在我陷入了一个需要为某些类(基类和派生类)设置类型属性的点

正常生活装饰这样的DTO:

BaseClass的:

[XmlInclude(typeof(Person))]
[XmlType("Partner", Namespace = "http://....")]
public abstract class Partner 
{...}

和DerivedOne:

 [XmlType("Person")]
public class Person : Partner
{...}

结果如下:
<tar:Partner xsi:type="Person">

但现在API文档告诉我创建一个请求:

<tar:Partner xsi:type="par:CT_Person">

(在Fiddler测试并且作品) 如何使用NameSpace前缀(par)创建typeName集 或者设置如下名称:

[XmlType("par:CT_Person")]

取消激活(覆盖)转义功能对我来说没有选择。

提前感谢。

1 个答案:

答案 0 :(得分:0)

经过一整天的测试和四处寻找......在写完我的问题后,我得到了自己的答案。

当我在我的基类中设置名称空间时,我可以在我的派生名称中使用不同的URL设置名称空间。而不是它的工作......

希望这篇文章能帮助其他人面对这个问题:)