获取也具有属性的XML元素的值

时间:2011-03-06 16:39:22

标签: c# .net xml-serialization

我正在使用.NET XmlSerializer类来反序列化某些XML文档。在该文档中,我有一个看起来像这样的元素:

<MyElement attr1="xxx" attr2="yyy">VALUE</MyElement>

这是更大的XML的一部分。我需要将这个字符串反序列化为一个对象,所以我写道:

public class MyElement
{
    [XmlAttribute(AttributeName = "attr1")]
    public string attr1 { get; set; }

    [XmlAttribute(AttributeName = "attr2")]
    public string attr2  { get; set; }

    [??????????????]
    public string value { get; set; }
}

我无法弄清楚要放什么而不是问号,以便将元素的值加到值中。

2 个答案:

答案 0 :(得分:2)

XmlTextAttribute

  

默认情况下,XmlSerializer将类成员序列化为XML元素。但是,如果将XmlTextAttribute应用于成员,则XmlSerializer会将其值转换为XML文本。这意味着该值被编码到XML元素的内容中。

[XmlText]
public string Value { get; set; }

答案 1 :(得分:1)

如果XmlTextAttribute不起作用,您可以使用XmlElementAttribute

[XmlElement( DataType = "string", ElementName = "value" )]
public string value { get; set; }