リストにデシリアライズする方法< String> XmlSerializerを使用する
-
05-07-2019 - |
質問
以下のXMLをクラスにデシリアライズしようとしています。 Components
は List< string>
にデシリアライズされていますが、その方法がわかりません。 。デシリアライザーは、他のすべてのプロパティに対しては正常に機能していますが、 Components
に対しては機能していません。誰でもこれを行う方法を知っていますか?
<ArsAction>
<CustomerName>Joe Smith</CustomerName>
<LoginID>jdsmith</LoginID>
<TicketGroup>DMS</TicketGroup>
<Software>Visio 2007 Pro</Software>
<Components>
<Component>Component 1</Component>
<Component>Component 2</Component>
</Components>
<Bldg>887</Bldg>
<Room>1320p</Room>
</ArsAction>
解決
次のようなプロパティを追加して、コンポーネントのリストを保持します。
[XmlArray()]
public List<Component> Components { get; set; }
編集:申し訳ありませんが、誤解しています。あなたはそれを文字列のコレクションに読みたいです。以下でこれを試したところ、サンプルで機能しました。重要なのは、正しいXMLシリアル化属性を設定することです。
public class ArsAction
{
[XmlArray]
[XmlArrayItem(ElementName="Component")]
public List<string> Components { get; set; }
}
所属していません StackOverflow