C#/ .xml 설정파일 사용
# 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 파일에서 설정을 가져오기도 합니다.