Получение значения элемента XML, который также имеет атрибуты - PullRequest
0 голосов
/ 06 марта 2011

Я использую класс .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 ]

2 голосов
/ 06 марта 2011

XmlTextAttribute

По умолчанию XmlSerializer сериализует члена класса как элемент XML. Однако если вы примените XmlTextAttribute к члену, XmlSerializer преобразует его значение в текст XML. Это означает, что значение закодировано в содержимом элемента XML.

[XmlText]
public string Value { get; set; }
1 голос
/ 06 марта 2011

Если XmlTextAttribute не работает, вы можете использовать XmlElementAttribute

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