我的應用程序有2個部分,一個Android客戶端和一個用c#編碼的Windows打印服務器。反序列化Java中由XStream生成的C#中的XML
我在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對象的嵌套列表,它總是返回null。
類在C#中的根類是:
[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; }
}
沒關係,我怎樣才能反序列化NESTED_CLASS列表出這個XML的?正如我所說,我總是得到一個空值。請幫幫我。 感謝...
謝謝。不工作雖然:( – 2013-03-18 13:45:06
不行,對你的例子工作:http://ideone.com/zkAiAL – jezzarax 2013-03-18 13:52:52
我更新了這個問題,使它更具可讀性。 – 2013-03-18 13:57:26