我的应用程序有 2 个部分,一个 android 客户端和一个用 c# 编码的 windows 打印服务器。
我在 java 中使用 Xstream 将我的对象转换为 XML(在 android 中)。这是其中的一部分:
<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 种对象类型,一种 ROOT 对象类型,以及名为 ITEMS 的第二种对象类型的嵌套列表。我可以读取 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 列表?正如我所说,我总是从中得到一个空值。请帮我。谢谢...