从.NET中生成的XML中删除命名空间

Ric*_*ide 12 c# xml asp.net xml-serialization

可能重复:
XmlSerializer:删除不必要的xsi和xsd名称空间

我正在使用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>
Run Code Online (Sandbox Code Playgroud)

一切都会好的,除了我正在使用的Web服务不理解架构的东西并抛出500错误.

有没有办法阻止XmlSerializer添加'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"'person标签?

Ars*_*eny 21

如果你使用自定义序列化程序试试这个

XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
namespaces.Add(string.Empty, string.Empty);
Run Code Online (Sandbox Code Playgroud)

然后将命名空间对象添加到序列化程序.