【问题标题】:C# Escaping XmlType Name with special char within XmlType() AttributeC# 使用 XmlType() 属性中的特殊字符转义 XmlType 名称
【发布时间】:2016-12-14 13:54:05
【问题描述】:

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

通常我会像这样装饰我的 DTO:

基类:

[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 中测试并有效) 如何创建带有名称空间前缀(par)的 typeName 集 或将名称设置为:

[XmlType("par:CT_Person")]?

停用(覆盖)转义功能对我来说是没有选择的。

提前致谢。

【问题讨论】:

    标签: c# xml xmlserializer xmltype


    【解决方案1】:

    在测试了一整天并尝试之后......在写完我的问题之后,我自己得到了答案。

    当我在我的基类中设置命名空间时,我可以在派生的命名空间中设置一个具有不同 URL 的命名空间。比它有效...

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

    【讨论】:

      猜你喜欢
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 2020-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-20
      相关资源
      最近更新 更多