[C#] XmlString to Object
1. XML String
var xmlString = "<datas><MessageInfo>" +
"<MyId>a</MyId>" +
"<YourId>b</YourId>" +
"<Msg1>c</Msg1>" +
"<Msg2>d</Msg2>" +
"<Msg3>1</Msg3>" +
"</MessageInfo></datas>";
2. 클래스 생성
public class MessageInfo
{
public string MyId { get; set; }
public string YourId { get; set; }
public string Msg1 { get; set; }
public string Msg2 { get; set; }
public string Msg3 { get; set; }
}
3-1. XDocument를 이용한 파싱
var doc = XDocument.Parse(xmlString);
var root = doc.Element("datas");
List<MessageInfo> list = new List<MessageInfo>();
foreach (XElement element in root.Elements())
{
MessageInfo data = new MessageInfo();
data.MyId = element.Element("MyId").Value;
data.YourId = element.Element("YourId").Value;
data.Msg1 = element.Element("Msg1").Value;
data.Msg2 = element.Element("Msg2").Value;
data.Msg3 = element.Element("Msg3").Value;
list.Add(data);
}
3-2. XmlSerializer를 이용한 파싱
XmlSerializer serializer = new XmlSerializer(typeof(List<MessageInfo>), new XmlRootAttribute("datas"));
StringReader stringReader = new StringReader(xmlString);
List<MessageInfo> messageInfoList = (List<MessageInfo>)serializer.Deserialize(stringReader);
'C# > XML' 카테고리의 다른 글
[C#] XmlHelper / XML 총정리 (0) | 2020.09.11 |
---|---|
[C#] XML 생성/쓰기 및 노드 추가하기 (0) | 2020.09.08 |
[C#] XML 읽기 (0) | 2020.09.04 |