重複の可能性:
List<ArrayList> オブジェクトをデシリアライズする
次の XML を C# オブジェクトに逆シリアル化するのに本当に苦労しています。
<docRoot>
...
<doc-sets>
<docs>
<atom:link rel="related" href="http://blah.com/1" title="abc" xmlns:atom="http://www.w3.org/2005/Atom" />
<atom:link rel="related" href="http://blah.com/2" title="abc2" xmlns:atom="http://www.w3.org/2005/Atom" />
</docs>
<docs>
<atom:link rel="related" href="http://blah.com/1" title="abc" xmlns:atom="http://www.w3.org/2005/Atom" />
<atom:link rel="related" href="http://blah.com/2" title="abc2" xmlns:atom="http://www.w3.org/2005/Atom" />
</docs>
....
</doc-sets>
</docRoot
非常によく似た以前の質問 ( Deserialize List<ArrayList> object ) を見つけましたが、私も元のポスターと同じ問題に達しました。
すべてのリンクを組み合わせたリストを持つオブジェクトを作成できますが、2 つの "docs" 要素があるという事実を維持し、両方のリンクを別々に保持したいと考えています。
これまでの私のコード;
[XmlRoot("docRoot")]
public class DocRoot
{
[XmlElement("doc-sets")]
public List<Docs> DocSets;
}
public class Link
{
[XmlAttribute("href")]
public string Href;
}
public class Docs
{
[XmlArray("docs")]
[XmlArrayItem("link", typeof(Link), Form = XmlSchemaForm.Qualified, Namespace = "http://www.w3.org/2005/Atom")]
public List<Link> Links;
public Docs()
{
Links = new List<Link>();
}
}
リンクの組み合わせリストではなく、独自のリンクを含む 2 つの「Doc」要素を保持する方法はありますか?
ありがとう