1

我正在尝试访问<accessmode>特定的 xml 中的节点<action>

<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下的一个元素。但是,我得到的值为空。任何帮助将不胜感激。

4

1 回答 1

2

您对该XmlArrayItem属性的使用不正确。它用于集合属性以指定集合的​​项目如何序列化。您应该从属性中删除此属性Mode,并将此属性放入Action映射到该<action>元素的类中。

于 2010-09-23T10:10:43.920 回答