성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] 제가 큰 실수를 했군요. ^^; Delegate를 통한 Bein...
[정성태] Working with Rust Libraries from C#...
[정성태] Detecting blocking calls using asyn...
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
[정성태] "props[i].GetValue(props[i])" 코드에서 ...
[정성태] 저렇게 조각 코드 말고, 실제로 재현이 되는 예제 프로젝트를 압...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
버전 업
사용 사례
개발자 대상
일반인 대상
기타
부모글 보이기/감추기
내용
[물론, 이것을 테스트하시려면, SmallTool 을 클라이언트에 설치하셔야 합니다.]<br /> <br /> XSDObjectGenerator 에 대해 잠시 소개를 드리면, XSD 스키마에 기반해서 .NET Entity 클래스를 생성하는 것이라고 보시면 됩니다.<br /> <br /> 예를 들어, 아래와 같은 유형의 XSD 파일을 여러분들이 정의하시면.<br /> <br /> <pre class="code"> <?xml version="1.0" encoding="utf-8"?> <xs:schema id="DataTypes" targetNamespace="http://tempuri.org/DataTypes.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/DataTypes.xsd" xmlns:mstns="http://tempuri.org/DataTypes.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="TFSAddItemT"> <xs:attribute name="Name" type="xs:string" /> <xs:attribute name="Port" type="xs:int" /> </xs:complexType> </xs:schema> </pre> <br /> VS.NET 2005 에서는 다음과 같이 XSD Designer 화면을 통해서 TFSAddItemT Complex Type 이 정의된 것을 확인해 보실 수 있습니다.<br /> <br /> <img alt="XSD Complex Type" src="/SysWebRes/bbs/xsd_data_type_sample.png" /><br /> <br /> 자, 그럼 위와 같이 정의된 XSD 파일을 XSDObjectGen.exe 파일에 다음과 같은 명령행으로 실행을 시키면 C# 클래스 파일이 생성되게 됩니다.<br /> <br /> <pre class="code"> xsdobjectgen.exe DataTypes.xsd /l:cs /f:test.cs /n:WebLib.Test </pre> <br /> 실행한 후에는, "test.cs" 라는 파일이 생성되는 데 VS.NET 2005 의 클래스 디자이너로 보면 다음과 같이 정의되어져 있습니다.<br /> <br /> <img alt="Class Diagram 에서 확인" src="/SysWebRes/bbs/vs_net_2005_class_diagram_tfsadditem_sample.png" /><br /> <br /> 자동 생성된 이 클래스를 실제로 다음과 같이 사용을 하실 수 있습니다.<br /> <br /> <pre class="code"> private void Form1_Load(object sender, EventArgs e) { TFSAddItemT item = new TFSAddItemT(); item.Name = "MyName"; item.Port = 80; } </pre> <br /> <hr /> <br /> 다 좋은데... ^^ 한가지 별로 멋있지 않은 면이 있습니다. 위의 단계에서 XSD 를 C# 클래스로 변환하는 것을 명령행에서 (보통 batch 파일을 이용합니다.) 처리를 한다는 것입니다.<br /> <br /> 하지만, 여러분들이 SmallTool 을 설치했다면 이젠 그렇게 하실 필요없습니다.<br /> 방법은 매우 간단합니다.<br /> <br /> 아래와 같이 해당 XSD 파일을 클릭하고, "Custom Tool" 에 "STXSDObjectGen" 이라고 주면 그만입니다.<br /> <br /> <img alt="XSD 파일에 대해 Custom Tool 지정" src="/SysWebRes/bbs/custom_tool_set_on_xsd_file.png" /><br /> <br /> 위의 그림에서 보시는 것처럼, DataTypes.xsd 파일 하위로 DataTypes.cs 파일이 생성됩니다. 물론, DataTypes.xsd 파일을 편집하고 "저장" 하기를 하는 순간, DataTypes.cs 파일도 내용이 그대로 반영됩니다. 소스 세이프 등에서의 체크아웃도 자동으로 이뤄집니다. ^^<br /> <br /> 그럼... 좀 편해질 수 있겠지요. ^^<br />
첨부파일
스팸 방지용 인증 번호
1306
(왼쪽의 숫자를 입력해야 합니다.)