私のアプリケーションには、Android クライアントと c# でコーディングされた Windows プリント サーバーの 2 つの部分があります。
Java で Xstream を使用して、オブジェクトを XML (アンドロイド) に変換しました。ここにその一部があります:
<ROOT>
<id>1</id>
<serial>92000</serial>
<date>2013/2/15</date>
<ITEMS>
<ITEM>
<name>/**SOMETHING**/</name>
<idd>/**SOMETHING**/</idd>
<pd>/**SOMETHING**/</pd>
<ed>/**SOMETHING**/</ed>
</ITEM>
<ITEM>
<name>/**SOMETHING**/</name>
<idd>/**SOMETHING**/</idd>
<pd>/**SOMETHING**/</pd>
<ed>/**SOMETHING**/</ed>
</ITEM>
<ITEM>
<name>/**SOMETHING**/</name>
<idd>/**SOMETHING**/</idd>
<pd>/**SOMETHING**/</pd>
<ed>/**SOMETHING**/</ed>
</ITEM>
</ITEMS>
</ROOT>
ご覧のとおり、2 つのオブジェクト タイプ、1 つの ROOT オブジェクト タイプ、および ITEMS という名前の 2 番目のオブジェクト タイプのネストされたリストがあります。ROOT オブジェクトの名前、シリアル、および日付を読み取ることができますが、ITEMS オブジェクトのネストされたリストの場合、常に null が返されます。
C# の Root クラスのクラスは次のとおりです。
[XmlRoot("ROOT")]
public class ROOT_CLASS
{
[XmlElement("id")]
public string idVar{ get; set; }
[XmlElement("serial")]
public string serialVar{ get; set; }
[XmlElement("date")]
public string dateVar{ get; set; }
[XmlArray("ITEMS")]
[XmlArrayItem("ITEM")]
public List<NESTED_CLASS> oi { get; set; }
}
ネストされたオブジェクトクラスは次のとおりです。
[XmlRoot("ITEM")]
public class NESTED_CLASS
{
[XmlElement("name")]
public string nameVV; { get; set; }
[XmlElement("idd")]
public string iddVV; { get; set; }
[XmlElement("pd")]
public string pdVV; { get; set; }
[XmlElement("ed")]
public string edVV; { get; set; }
}
さて、このxmlからNESTED_CLASSリストを逆シリアル化するにはどうすればよいですか? 私が言ったように、私はいつもそれからヌルを得ます。私を助けてください。ありがとう...