본문 바로가기

Developer

Xml을 .Net Class로 구성하기 (C#)

Xml 파일을 .Net Class로 구성하는 방법입니다.

Xml을 XSD로 변환하고 그 파일을 다시 .Net Class로 변환해야 됩니다.

 

(generate sample C# & VB classes from an XSD schema)

 

방법은 아래와 같습니다.

 

먼저 사용자 PC에는 .Net 1.1 버전이 설치되어 있어야 됩니다.

 

.Net Framework 1.1

 

.Net Framework 1.1 SP 1

 

그리고 XSD를 .Net Class로 변환하는 툴도 받으셔야 됩니다.

이 녀석이 1.1에서만 돌아가는 녀석이라 이 녀석을 위해서 .Net Framework 1.1을 설치하셔야 됩니다.

 

Sample Code Generator 1.4.2.1(XSD를 .Net Class 변환 Tool) 


그리고 VS 2005, VS 2008에서 Xml 파일을 XSD로 변환하는 과정을 살펴 보겠습니다.

방법은 동일하리라 생각되고요,, VS 2003에서도 될거라 믿습니다.

 

저는 2008에서 작업하도록 하겠습니다.

 

먼저 Xml 파일을 VS 2008에 불러 옵니다.

 

그리고 메뉴에 Xml –> 스키마 만들기를 선택하시면 됩니다.

 

 

스키마 만들기를 선택하게 되면 자동으로 XSD 파일을 만듭니다.

매우 간단하죠 *_*

 

 

여기서 주의 할 점은 중복 Node의 경우에는 두 번 이상 표현 하여야 이 녀석이 이놈은 중복이구나 라고 알아 먹습니다.

 

<Tests>

    <test1 id=’ddd’ />

    <test1 id=’ccc’ />

    <test1 id=’bbb’ />

    <test1 id=’aaa’>

        <aa>test</aa>

        <aa>tes1</aa>

    </test1>

<Tests>

 

와 같이 두 번 이상 표현 되어야 합니다.

 

그럼 만들어진 파일은 편한 곳에 저장하시고 설치된 XSDObjectGenerator 를 이용하여 .Net Class 변환을 시작해 보겠습니다.

 

윈도우 키 + R (실행이죠~) 거기에 CMD

Commend 창을 띄우셔서

설치된 경로로 갑니다.

 

C:\Program Files\XSDObjectGenerator

 

XSDObjectGenerator가 설치된 경로에 가서 보시면 Doc 파일이 있습니다.

설명서인데요.

한번씩 읽어 보시면 좋을 것 같습니다.

 

저는 그냥 쭈욱 진행하면서 Class 파일을 만들어 보도록 하겠습니다.

XSDObjectGen "D:\Work\Epience\0905 Portal\20_개발\Bizpro.Portal\Bizpro.Portal\50_Misc\Schema\Personalization.xsd"  /n:test /f:test.cs

 

XSDObjectGen 실행

"D:\Work\Epience\0905 Portal\20_개발\Bizpro.Portal\Bizpro.Portal\50_Misc\Schema\Personalization.xsd"

XSD의 위치

/n:test Namespace

/f:test.cs 출력할 파일 이름

 

 

위와 같이 입력하시면 프로그램의 경로에 test.cs 파일이 만들어집니다.

 

 

원하는 Namespace로 생성되어 있습니다.

이렇게 하시면 만들어집니다~

 

PS. XSD를 만들고 나서 string 이나 int 같은 타입을 재 정의 해 주시고요(원하는 형태로)

cs. 파일 생성 후에도 cs 코드를 좀 손보아야 할 것입니다.

 

감사합니다~