2010-09-23 166 views
1

我正在嘗試訪問xml中的節點<accessmode>以獲取特定的<action>反序列化XML

<controller name="Job"> 
    <roles> 
    <role>1</role> 
    <role>3</role> 
    <role>4</role> 
    </roles> 
    <actions> 
    <action name="Index"> 
     <roles> 
     <role>1</role> 
     <role>4</role> 
     </roles> 
     <accessmode>1</accessmode> 
    </action> 
    <action name="Warning"> 
     <roles> 
     <role>1</role> 
     <role>3</role> 
     </roles> 
     <accessmode>3</accessmode> 
    </action> 
    </actions> 
</controller> 

我試着用下面的代碼。

private string mode; 
    [XmlArrayItem(ElementName = "action")] 
    [XmlElement(ElementName = "accessmode")] 
    public string Mode 
    { 
     get { return mode; } 
     set { mode = value; } 
    } 

由於<accessmode>是我試圖使arrayitem下一個元素。 但是,我得到的值爲空。任何幫助將不勝感激。

回答

2

您對XmlArrayItem屬性的使用不正確。它用於集合屬性以指定集合的​​項目如何序列化。您應該從Mode屬性中刪除該屬性,並將該屬性放置在映射到<action>元素的Action類中。