現在、モデルのmy textプロパティに特定のノード(text
)ノードのすべての内部テキストが含まれるようにクラスを変更しようとしています。C#XML逆シリアル化。すべての内部テキストをノードから文字列プロパティに読み込みます
私に問題を与えているXMLの例は次のとおりです。現在、私のモデルのルックスを
"<content ID="ID0EAAKACA">No Reason for Visit was given.</content>"
:
<component>
<section>
<title>Reason for Visit</title>
<text>
<content ID="ID3EZZKACA">No Reason for Visit was given.</content>
</text>
</section>
</component>
私の目標は、次の文字列を持っている私のモデルのtext
プロパティです以下のようになります。
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()]
注釈を使用してこれを達成しようとしていますが、XMLを逆シリアル化すると、テキストプロパティは常にnullになります。
すべてのご協力をいただきありがとうございます。
私は通常、XMLを*必要に応じて*シリアル化するのが簡単です。これで、デシリアライズは簡単です。 –
Linq2Xml 'var elem = XDocument.Load(filename).XPathSelectElement(" // text ");' –
@残念ながら、これは私のシナリオでは妥当なアプローチではありません。私は、さまざまなソースから巨大なXML文書を与えられています。このXMLにシリアル化しようとすると余分な時間がかかります。私は.xsdから自動的に生成されたクラスを持っています – GregH