1
可能性の重複:
XMLSerializer
を使用して、以下のクラスのオブジェクトに属性を取得するためにXMLデシリアライザを設定するにはどうすればよいですか?<root> <foo> some content </foo> <bar id="someId">someContent</bar> </root>
私は、次のXMLをデシリアライズしています。
[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
ではありません。
属性を持つことは文字列に意味をなさないので、 'bar'オブジェクトを文字列以外のものにする必要があると思います。 – jv42
( "id")を付けずにXmlAttributeを試してみましたか? – Steve
同じ問題:http://stackoverflow.com/questions/6003847/deserializing-xml-how-do-i-access-attributes – Steve