これについての情報はありませんでした。デシリアライズ後にXmlElementAttributeの名前を取得します
ことができます。私は2つの質問がある
[XmlRoot("content")] public class Content { [XmlElement] public List<Item> Fields { get; set; } } public class Item { [XmlElement] public List<Item> Fields { get; set; } [XmlText] public String Value { get; set; } }
:私はこのようなクラスを使用して、それをデシリアライズしよう
<content> <field1>value</field1> <field2> <field3>value</field3> </field2> </content>
:
私は(便宜上単純化)XMLを持っています私はフィールドの実際の名前を取得? Itemクラスの
[XmlName] string name;
のように?クラス自体のための何らかの属性ですか?何らかの理由でノード名を "field"に設定して "type"属性を追加することはできません;-)実際のクラスとシリアライゼーションのプロセスは本当に複雑ですが、私は自分のシリアライザを実装したくないです。[XmlElement( "field *")]のようなワイルドカードを追加できますか?私は最初の質問に対する答えを知るまで、私はそれをテストすることができないので、より良い選択肢があれば、それもよく知りたいです。
ありがとう。
任意のXMLを表す構造を作成しようとしているようです。その場合、なぜXMLシリアル化を使用しているのですか? LINQ to XMLを使用する方が適しているかもしれません。 – svick
まあ、そうです、それはかなり任意の構造です。ポイントは、私はすでに多くの場合XMLシリアル化を使用していたので、私はこのコンベンションをプロジェクト全体に残したいと思っています(今まで可能でした...)。もちろん、解決策が見つからない場合は、LINQ ..に切り替えます。 –