5

XmlSerializerを使用して、クラスのXML出力を生成しています。すべてのxmlノードを小文字にするカスタムXMLSerializerを作成することは可能ですか?小文字でノードを指定するために、クラスのすべてのフィールドフィールドに属性を追加したくありません。

ありがとう、アンジェラ

4

2 に答える 2

4

それはあなたがやりたい仕事の量に依存します。属性を追加するのが最も簡単なオプションですが、あなたはそれをしたくないと言います。クラスに小文字の名前を付けることもできますが、これはIMOにアプローチするための恐ろしい方法です。

--を使用すると、実行時に何をするかを指示できますが、リフレクションを使用して、微調整するすべてのメンバーについて通知する必要があります。ただし、これを行う場合は、そのようなシリアライザーをキャッシュして再利用する必要があります。毎回新しいビアを作成すると、アセンブリのメモリがリークします。XmlSerializerXmlAttributeOverridesXmlSerializerXmlAttributeOverrides

MSDNに例があります

于 2012-08-22T12:31:16.587 に答える
2

私が何年にもわたって見た最良の例は、ダニエル・カズリーノによって書かれたここにあります。XmlTextReader彼がとをオーバーライドXmlWriterして、シリアル化に彼が望んでいることを正確に実行させるので、私はそれが非常にエレガントだと思います。彼のブログを楽しんでいただければ幸いです。

于 2012-08-22T13:31:48.877 に答える