C# XmlSerializerFormat的命名空间问题

C# XmlSerializerFormat的命名空间问题,c#,xml,wcf,namespaces,C#,Xml,Wcf,Namespaces,我正在尝试使用XMLSerializerFormat和WCF设置名称空间。但我似乎无法使名称空间显示在对象的根上。如果我使用基本的xmlserializer,而不是通过有线传输,那么它看起来很好 下面是使用基本xmlserializer时的情况 <?xml version="1.0" encoding="utf-16"?> <bar:SomeObjects xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x

我正在尝试使用XMLSerializerFormat和WCF设置名称空间。但我似乎无法使名称空间显示在对象的根上。如果我使用基本的xmlserializer,而不是通过有线传输,那么它看起来很好

下面是使用基本xmlserializer时的情况

<?xml version="1.0" encoding="utf-16"?> <bar:SomeObjects xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:bar="http://www.bar.com/">   <bar:Name>FooBar</bar:Name>   <Foo:SomeObject xmlns:Foo="http://www.Foo.com/">
    <Foo:FirstName>Foo</Foo:FirstName>
    <Foo:LastName>Bar</Foo:LastName>   </Foo:SomeObject>   <Foo:SomeObject xmlns:Foo="http://www.Foo.com/">
    <Foo:FirstName>Bar</Foo:FirstName>
    <Foo:LastName>Foo</Foo:LastName>   </Foo:SomeObject> </bar:SomeObjects>
尝试将XmlRoot属性添加到类中,如下所示:

[System.Xml.Serialization.XmlRootAttribute("SomeObjects", Namespace = "http://www.bar.com/")]
public partial class SomeObjects
{
    ...
要在XML文档中添加带前缀的命名空间,请创建包含所有前缀命名空间对的XmlSerializerNamespaces对象。为每个XmlArrayAttribute设置的命名空间必须包含在XmlSerializerNamespaces对象中。当XmlSerializer生成文档时,它会正确地为每个数组项添加元素名前缀


这似乎没有给出我想要的结果。我编辑了这个问题,以显示我将部分类更改为什么。
[XmlRootAttribute("SomeObjects", Namespace = "http://www.bar.com/")]
public partial class SomeObjects
{

    public SomeObjects()
    {
        xmlsnField = new XmlSerializerNamespaces();
        this.xmlsnField.Add("bar", "http://www.bar.com/");
        this.xmlsnField.Add("foo", "http://www.foo.com/");
    }

}
[System.Xml.Serialization.XmlRootAttribute("SomeObjects", Namespace = "http://www.bar.com/")]
public partial class SomeObjects
{
    ...