可能重复:
XmlSerializer: remove unnecessary xsi and xsd namespaces
我正在使用XMLSerializer生成一些XML,并使用标记了属性的类。此XML将发送到REST Web服务。
它生成以下XML:
<?xml version="1.0" encoding="utf-8"?>
<person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<first-name>API</first-name>
<last-name>TestPersonDeleteMe</last-name>
<title>Delete me</title>
</person>
一切都会好的,除了我正在使用的Web服务不理解架构内容并抛出500错误。
有没有办法阻止XmlSerializer将'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"'
添加到 person 标记?
答案 0 :(得分:21)
如果您使用自定义序列化程序,请尝试此
XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
namespaces.Add(string.Empty, string.Empty);
然后将命名空间对象添加到序列化程序中。