В настоящее время я пытаюсь изменить мои классы, чтобы мое текстовое свойство на моей модели содержало весь внутренний текст узла (text
).C# XML десериализация. Чтение всего внутреннего текста из узла в свойство строки
Пример XML, который дает мне проблемы, является:
<component>
<section>
<title>Reason for Visit</title>
<text>
<content ID="ID3EZZKACA">No Reason for Visit was given.</content>
</text>
</section>
</component>
Моя цель для text
собственности моей модели, чтобы иметь следующую строку:
"<content ID="ID0EAAKACA">No Reason for Visit was given.</content>"
В настоящее время моя модель выглядит например:
public partial class ComponentSection {
//other model properties here
private string textField;
[System.Xml.Serialization.XmlTextAttribute()]
public string text {
get {
return this.textField;
}
set {
this.textField = value;
}
}
//getters/setters for other properties here
}
Итак, я в настоящее время пытаюсь это сделать, используя аннотацию [System.Xml.Serialization.XmlTextAttribute()]
, но когда я это делаю, свойство text всегда проходит через нуль, когда xml десериализуется.
Вся помощь приветствуется.
Мне обычно проще * сериализовать * XML так, как я хочу; с этим сделано десериализация прямолинейна. –
Мне может быть проще с Linq2Xml 'var elem = XDocument.Load (filename) .XPathSelectElement (" // text ");' –
@Dan, к сожалению, это не правдоподобный подход в моем сценарии. Мне даны огромные XML-документы из разных источников. попытка сериализации в этот xml займет довольно большое количество дополнительного времени. У меня есть автоматически созданные классы из .xsd – GregH