2

重複の可能性:
DataContractSerializer を使用した名前空間のないオブジェクトのシリアル化

このクラスのオブジェクトをシリアライズしているとき:

[DataContract]
internal class Settings
{
    [DataMember]
    public List<string> AllowedEmails { get; set; }
}

出力としてこの XML を取得しました。

<?xml version="1.0" encoding="utf-8"?>
<Settings xmlns="http://schemas.datacontract.org/2004/07/Commands.Settings">
    <AllowedEmails xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d2p1:string>asdsada</d2p1:string>
        <d2p1:string>asdsada</d2p1:string>
    </AllowedEmails>
</Settings>

xmlns="http://schemas.datacontract.org/2004/07/Commands.Settings"名前空間とを取り除く方法はありますxmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"か?

私はこれを行うことで d2p1 名前空間を削除できることを知っています:

public Settings()
{
    [DataMember]
    public AllowedEmails AllowedEmails { get; set; }
}


[CollectionDataContract]
public class AllowedEmails : List<string>
{
    public AllowedEmails()
    {
    }
}

しかし、もっとエレガントなソリューションがあるのではないでしょうか?

4

0 に答える 0