Programming/C# - Window

C#/ .xml 설정파일 사용

esoog Polaris 2023. 12. 2. 22:29
반응형

# C# 함수(xml 데이터 연결)

using System.Xml.Linq;

private void LoadXMLValues()
{
    try
    {
        string xmlPath = Application.StartupPath + @"\Config.xml";
        XDocument doc = XDocument.Load(xmlPath);

        Name = GetValueFromXml(doc, "Name");
        MailAddress = GetValueFromXml(doc, "MailAddress");
        MailPassword = GetValueFromXml(doc, "MailPassword");
    }
    catch (Exception ex)
    {

    }
}

private string GetValueFromXml(XDocument doc, string elementName)
{
    XElement element = doc.Element("Configuration")?.Element(elementName);
    return element?.Value;
}

 

 

 

 

# Config.xml 파일

<?xml version="1.0" encoding="utf-8" ?>
<Configuration>
  <Name>Polaris</Name>
  <MailAddress>아이디@gmail.com</MailAddress>
  <MailPassword>비밀번호</MailPassword>
</Configuration>

 

 

 

 

 

1. **설정 분리:**
   - `.xml` 파일을 사용하면 설정 데이터를 별도의 파일로 분리할 수 있습니다. 이는 코드와 설정을 분리함으로써 코드의 가독성과 유지보수성을 향상시킵니다.

2. **동적 변경:**
   - 설정을 XML 파일에 저장하면 프로그램을 다시 컴파일하지 않고도 설정을 동적으로 변경할 수 있습니다. 이는 애플리케이션을 더 유연하게 만들어줍니다.

3. **보안 및 권한 관리:**
   - 일부 설정은 민감한 정보일 수 있습니다. 이러한 정보를 별도의 설정 파일에 저장하면 애플리케이션 코드에서 직접 노출되지 않아서 보안적인 이점을 제공하며, 해당 파일의 권한을 관리하여 접근을 제어할 수 있습니다.

4. **환경 구성:**
   - 동일한 코드 베이스를 여러 환경에서 사용하는 경우 (예: 개발, 테스트, 프로덕션), 각각의 환경에 따른 설정을 다르게 할 수 있습니다. 이는 환경 간 일관성을 유지하고 특정 환경에 특화된 구성을 제공할 수 있게 해줍니다.

5. **배포 및 관리:**
   - 애플리케이션을 배포할 때 설정 파일만 업데이트하면 되므로, 새로운 버전을 배포할 때 기존의 설정을 그대로 유지할 수 있습니다.

6. **테스트 용이성:**
   - 유닛 테스트 및 통합 테스트를 수행할 때, 테스트용 `config.xml` 파일을 사용하여 특수한 설정을 가진 테스트 환경을 만들어 테스트하기 용이합니다.

예를 들어, 데이터베이스 연결 문자열, 서비스 엔드포인트, API 키, 로깅 설정 등을 `config.xml` 파일에 저장하면 이러한 이점을 얻을 수 있습니다. C#에서는 주로 `System.Configuration` 네임스페이스의 `ConfigurationManager` 클래스를 사용하여 XML 파일이나 app.config/web.config 파일에서 설정을 가져오기도 합니다.

728x90