XML Deserializerは属性を取得するためにどのように構成できますか?

Possible Duplicate:
Deserializing XML, how do I access attributes?

私は次のXMLを非直列化しています:


   some content 
  someContent

以下のClassオブジェクトに XMLSerializer を使用します。

[XmlRootAttribute("foobar")]
public class foobar
{

    [XmlElementAttribute("foo")]
    public string foo { get; set; }

    [XmlElementAttribute("bar")]
    public string bar { get; set; }        

}

しかし、これは bar タグ内で someId を選択しません。それを拾うために私は何を変える必要がありますか?

私はこれを試した:

上記のクラスでは、2番目のプロパティを次のように変更しました。

[XmlElementAttribute("bar")]
public Bar bar { get; set; } 

そして、新しいクラスを定義しました:

[XmlTypeAttribute]
    public class Bar
    {
        [XmlAttribute("id")]
        public string id { get; set; }

        [XmlText]
        public string Value { get; set; }
    }

これでも値は取得されますが、 Id は取得されません。

1
@スティーブ:私はやった。それはまだそれを拾いません
追加された 著者 xbonez,
@Steve: XmlAttribute に変更すると修正されました。私が直ちにそれを認識しなかった理由は、私のコードの別のバグのためでした。答えとして投稿すると、私はそれを受け入れます
追加された 著者 xbonez,
( "id")を付けずにXmlAttributeを試してみましたか?
追加された 著者 Steve,
私はあなたの 'バー'オブジェクトを文字列以外のものにしなければならないと思います。なぜなら、属性を持つことは文字列に意味をなさないからです。
追加された 著者 jv42,

1 答え

それを修正する必要がある( "id")のないXmlAttributeを使用してみてください。

1
追加された