【发布时间】:2009-12-11 18:21:58
【问题描述】:
我将我的 DataContracts 命名空间设置为“”,这删除了一个命名空间,但我必须删除另一个:
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
如果没有其他方法,我如何在返回和破解命名空间之前序列化我的类?
我必须这样做才能使用另一家公司的 API。
【问题讨论】:
标签: xml wcf rest namespaces xml-namespaces
我将我的 DataContracts 命名空间设置为“”,这删除了一个命名空间,但我必须删除另一个:
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
如果没有其他方法,我如何在返回和破解命名空间之前序列化我的类?
我必须这样做才能使用另一家公司的 API。
【问题讨论】:
标签: xml wcf rest namespaces xml-namespaces
除了放弃 WCF 之外,您唯一真正的选择是更改服务合同以返回流并自己进行 XML 序列化。您仍然可以使用数据协定序列化程序,转换为字符串,去掉所有命名空间,然后转换回流以返回,但这听起来很糟糕。
如果您需要在 POST 正文中接受没有名称空间的 XML,那么您将面临更多的痛苦。在那种情况下,我会很快转储 WCF。
【讨论】:
尝试仅删除 DataContract 和 DataMember 属性。这可能会解决您的问题。
【讨论】: