كيفية إلغاء تسلسل إلى قائمة <سلسلة> باستخدام XmlSerializer

StackOverflow https://stackoverflow.com/questions/1208643

  •  05-07-2019
  •  | 
  •  

سؤال

وأنا أحاول أن إلغاء تسلسل XML أدناه في الصف، مع Components إلغاء تسلسل إلى List<string>، ولكن لا يمكن معرفة كيفية القيام بذلك. وdeserializer يسير على ما يرام لكافة الخصائص الأخرى، ولكن لا 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; }

وتحرير: آسف لأنني أخطأت ذلك. تريد قراءته إلى مجموعة من السلاسل. لقد حاولت هذه أدناه وعملت على عينتك. والمفتاح هو فقط لإعداد سمات أكس التسلسل الصحيح.

public class ArsAction
{
    [XmlArray]
    [XmlArrayItem(ElementName="Component")]
    public List<string> Components { get; set; }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top