.NET でシリアル化された XML からすべての名前空間を削除する
オブジェクトを XML にシリアル化するプロセスでは、次のような名前空間が発生することがよくあります。シリアル化されたドキュメントに追加される「xsi」および「xsd」として。これらの名前空間は、煩雑さと複雑さの原因となる可能性があります。
提供されているコード スニペットは、OmitXmlDeclaration フラグを設定することで XML 名前空間を省略しようとしています。ただし、結果の XML には xsi および xsd 名前空間が含まれています。これらの名前空間を完全に削除するには、追加の手順が必要です。
解決策は、空の XmlSerializerNamespaces オブジェクトを定義し、それを Serialize メソッドに渡すことです。
... XmlSerializer s = new XmlSerializer(objectToSerialize.GetType()); XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("", ""); // Add an empty namespace for each prefix s.Serialize(xmlWriter, objectToSerialize, ns);
このコードは、空の名前空間をXML ドキュメントから、接頭辞や名前空間宣言を効果的に削除します。その結果、シリアル化されたドキュメントにはクリーンな
<message> ... </message>
以上が.NET でシリアル化された XML からすべての名前空間を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。