반응형
<?xml version="1.0" encoding="utf-8" ?>
<config>
<server>
<ip>127.0.0.1</ip>
<port>8080</port>
</server>
<application width="100" height="100" />
</config>
Xml 파일 읽어서 사용할 객체
[XmlRoot("config")]
public class ClientConfigModel
{
[XmlElement("server")]
public ConfigServer server { get; set; }
[XmlElement("application")]
public ConfigApplication application { get; set; }
}
[Serializable()]
public class ConfigServer
{
[XmlElement("ip")]
public string ip { get; set; }
[XmlElement("port")]
public int port { get; set; }
}
[Serializable()]
public class ConfigApplication
{
[XmlAttribute("width")]
public int width { get; set; }
[XmlAttribute("height")]
public int height { get; set; }
}
데이터 읽어오기
/// <summary>
/// 설정파일 읽어오기
/// </summary>
/// <param name="path">설정파일경로</param>
public static void Read(string path)
{
if (System.IO.File.Exists(path))
{
using (var sr = new StreamReader(path))
{
var xs = new XmlSerializer(typeof(Model.ClientConfigModel));
var configModel = (Model.ClientConfigModel)xs.Deserialize(sr);
Console.WriteLine("ip : {0}", configModel.server.ip);
Console.WriteLine("port : {0}", configModel.server.port);
Console.WriteLine("width : {0}", configModel.application.width);
Console.WriteLine("height : {0}", configModel.application.height);
}
}
}
반응형
'프로그래밍 > C#' 카테고리의 다른 글
[C#] 프로세스 이름 기준으로 종료 시키기 - kill by name (0) | 2021.04.22 |
---|---|
[C#] 태블릿모드에서 가상키보드 호출시 폼크기 자동으로 변경 (0) | 2021.02.17 |
[C#] SQLite Table 존재유무 체크 하고 생성하기 (0) | 2019.10.14 |
[C#] Excel Error 0x800ac472 원인 (0) | 2019.06.21 |
[C#] SQLite 맛보기 - DB파일 생성 (0) | 2019.04.05 |