XmlSerializer: 不要な xsi および xsd 名前空間を削除する 質問する

XmlSerializer: 不要な xsi および xsd 名前空間を削除する 質問する

ルート要素にデフォルトの名前空間を書き込まないように XmlSerializer を構成する方法はありますか?

私が得たものは次のとおりです:

<?xml ...>
<rootelement xmlns:xsi="..." xmlns:xsd="...">
</rootelement>

両方の xmlns 宣言を削除したいと思います。

重複:xmlns=”…” を取得せずにオブジェクトを XML にシリアル化するにはどうすればよいですか?

ベストアンサー1

//Create our own namespaces for the output
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();

//Add an empty namespace and empty value
ns.Add("", "");

//Create the serializer
XmlSerializer slz = new XmlSerializer(someType);

//Serialize the object with our own namespaces (notice the overload)
slz.Serialize(myXmlTextWriter, someObject, ns)

おすすめ記事