.NET でシリアル化された XML から名前空間を削除する
.NET でオブジェクトをシリアル化すると、結果の XML に「xsi」などの名前空間が含まれることがよくあります。 」と「xsd」。これらの名前空間を省略して、よりクリーンなシリアル化ドキュメントを実現するには、代替アプローチが必要です。
代替アプローチ:
問題の説明で提供されているコードの代わりに、次のコードを利用できます。 XmlSerializerNamespaces クラスを使用して、シリアル化中に名前空間を明示的に管理します。これにより、次のコードに示すように、カスタム名前空間マッピングを定義できるようになります。
... XmlSerializer s = new XmlSerializer(objectToSerialize.GetType()); XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("", ""); // Add an empty namespace mapping to remove all namespaces s.Serialize(xmlWriter, objectToSerialize, ns);
空の名前空間マッピングを追加すると、シリアル化された XML ドキュメントからすべての名前空間宣言が効果的に削除されます。これにより、目的の
<message> ... </message>
このアプローチにより、シリアル化された XML をより詳細に制御でき、出力に不要な名前空間が含まれないことが保証されます。
以上が.NET でシリアル化された XML から名前空間を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。