サードパーティの.NET Libから取得したオブジェクトの一部をXMLファイルにシリアル化しようとしています。 IオブジェクトのGo To Definition
、そのオブジェクトのプロパティのいくつかは[XMLIgnore]
[XMLIgnore]属性を無視するには
としてマークされている
は、いくつかのプロパティは、その属性を持っているという事実を無視し、それがすべてをシリアライズすることに私System.Xml.Serialization.XmlSerializer
を指示する方法はありますオブジェクト内に
私はおそらく、ソースを取得し、XMLIgnore
属性なしでそれを再コンパイルが、XmlSerializer
は、事前
EDITに
XmlSerializer xmls = new XmlSerializer(
typeof(MyObject),
Settings.DoNotApplyXMLAttributeRules
);
おかげのようないくつかの素晴らしいオーバーライド・プロパティを持っていたならば、それは素晴らしいことだ可能性
XmlAttributeOverridesを試してみましたが、h多くの喜びを助けます。 はここ
XmlWriter xtw = XmlWriter.Create(Server.MapPath("~/App_Data/Data.xml"));
XmlAttributes photoAttributes = new XmlAttributes();
photoAttributes.XmlIgnore = false;
XmlAttributeOverrides photoOverrides = new XmlAttributeOverrides();
photoOverrides.Add(typeof(Photo), "LargeUrl", photoAttributes);
XmlSerializer xmlphoto = new XmlSerializer(typeof(Photo), photoOverrides);
は、しかし何の喜びを試していない(()最初の注を参照してください)。他の提案は高く評価されます。私が何かばかげている場合に備えて、元の質問にコードを追加しました。 –
LargeUrlにはセッターがないため、XmlIgnore属性がなくてもシリアル化されません。 – manji
ああ。私は値を格納し、それを別々にシリアライズするためのプロキシクラスを作成することで、その周りにいる。 –