我正在使用.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; }
}
我无法弄清楚要放什么而不是问号,以便将元素的值加到值中。
答案 0 :(得分:2)
默认情况下,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; }