2011-04-12 3 views
2

우리는 C# 응용 프로그램에 대한 오류 코드를 저장하기 위해 XML 파일을 사용하고 있습니다. 다음 중 두 가지 구조에 대해 어느 것이 더 낫습니까?xml 오류 코드 파일

<error> 
<code>0x00000001</code> 
<description>Error PIB: Clamp</description> 
<reaction>Display</reaction> 
</error> 

또는

<error code=0x00000001 > 
<description>Error PIB: Clamp</description> 
<reaction>Display</reaction> 
</error> 

또는 더 나은 제안?

두 번째 것 같습니다 그것을 통해 조회를위한 공간과 easiler?

error code을 조회하여 descriptionreaction 문자열을 가져와야합니다. 파일을 검색하는 효과적인 방법이 있습니까?

+0

확인 http://stackoverflow.com/questions/152313/xml-attributes-vs-elements –

답변

5

당신이 공간 절약 기술, 나는 첫 번째 장소 :

는 개인적으로 내가 처음을 통해 두 번째 방법을 선호에서 XML을 사용하지 않는 것이 좋습니다,하지만 모두 작동 후라면. 이것이 조회만을위한 것이라면 파일을로드 할 때 Dictionary<String, ErrorInformation> 또는 비슷한 것으로 변환 할 것을 제안합니다. (당신은 키 값을 숫자 유형이 아닌 만들 수 있지만, 물론 값을 구문 분석이 필요합니다.) XML에

LINQ는 변환 이런 종류의 할 정말 쉽게 : 일반적으로

XDocument xml = XDocument.Load("errorcodes.xml"); 
var dictionary = xml.Descendants("error") 
        .ToDictionary(element => (string) element.Attribute("code"), 
            element => new ErrorInformation(
             (string) element.Element("description"), 
             (string) element.Element("reaction"))); 
+0

+1, XML! = 공간 절약. 공간을 절약하기 위해 JSON 객체와 같은 것을 사용할 수 있습니다. JSON에는 XML에 비해 훨씬 적은 정보가 저장됩니다. 단, XML은 코드에서 다루기가 훨씬 쉽습니다. 공간이 그다지 큰 거래가 아니라면, 나는이 접근법을 정말로 좋아한다. 매우 간단하고 이해하기 쉽습니다. –

1

code에 요소를 설명하려면 속성으로 지정하십시오. code을 요소 (즉, code에 특성 또는 하위 정보가 필요함을 의미)로 사용하려면 해당 요소를 자식으로 만듭니다. 코드에서

는, 옵션 2는 최고 IMO