본문 바로가기

C#/XML

[C#] XML 읽기

[C#] ReadXml

 

xml data 샘플

<?xml version="1.0" encoding="utf-8"?>
<Root>
  <Contents Id="20180615_1820562056">
    <Id>20180615_1820562056</Id>
    <Num>1</Num>
    <Type>0</Type>
    <FileType>2</FileType>
    <FileName>123456789.mp4</FileName>
    <Duration>40</Duration>
  </Contents>
  <Contents Id="20180618_1350335033">
    <Id>20180618_1350335033</Id>
    <Num>2</Num>
    <Type>1</Type>
    <FileType>1</FileType>
    <FileName>123456789.mp4</FileName>
    <Duration>30.116</Duration>
  </Contents>
  <Contents Id="20180618_1350385038">
    <Id>20180618_1350385038</Id>
    <Num>3</Num>
    <Type>1</Type>
    <FileType>1</FileType>
    <FileName>123333.mp4</FileName>
    <Duration>107.207</Duration>
  </Contents>
</Root>

 

xml 읽기

private List<SampleData> ReadXml()
{
    List<SampleData> list = new List<SampleData>();
 
    try
    {
        XElement doc = XElement.Load(DirName + "/" + FileNameVideoContents1F + ".xml");
        int index = 0;
        foreach(XElement element in doc.Elements())
        {
            SampleData data = new SampleData();
            data.Num = ++index;
            data.Id = element.Element("Id").Value;
            data.Num = Convert.ToInt32(element.Element("Num").Value);
            data.Type = Convert.ToInt32(element.Element("Type").Value);
            data.FileType = Convert.ToInt32(element.Element("FileType").Value);
            data.FileName = element.Element("FileName").Value;
            data.Duration = Convert.ToDouble(element.Element("Duration").Value);
 
            list.Add(data);
        }
    }
    catch (Exception ex)
    {
        Debug.WriteLine(ex.Message);
    }
 
    return list;
}

'C# > XML' 카테고리의 다른 글

[C#] XmlHelper / XML 총정리  (0) 2020.09.11
[C#] XmlString to Object 파싱  (0) 2020.09.11
[C#] XML 생성/쓰기 및 노드 추가하기  (0) 2020.09.08