2011. 8. 30. 00:13

Geeks_XmlConverter

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


안녕하세요 Geeks_Company입니다.

이번에 WCF, XML 프로젝트를 끝내면서 필요성을 느껴서 만든 Converter 입니다.

이 Helper를 만든 배경에는 여러가지가 있었으나 요약 하면 이러 합니다.

 - XML 과 Tree(Parent-Child) 구조는 동일 하므로 서로 형 변환시 필요한 객체 데이터 생성
 - Excel로 기초 데이터 Tag를 작성 할 경우 작업의 용이성
 - 만들어진 Xml 파일을 XSD를 이용하여 객체로 1:1 Mapping이 가능
 - 많아지는 양을 Manual 적인 부분으로 해결 할 수 없기에. ( 358 Element & Attribute Tested )
 - 기존의 많은 Xml Tag는 끝(EndElement)가 '/' 로 단축되어서 파싱의 어려움을 해결하기 위해. 
 
이 Convert의 기능은 간단합니다.

Excel -> Node Class Data -> Generate Xml File.

Node Class Data는 아래의 형태의  데이터를 Class 로 만드는 겁니다. 

1 0 xmlElement Abc
2 1 xmlAttribute DD
3 1 xmlAttribute EE
4 1 xmlAttribute FF

TreeDtStructure.Add("1", new node("Abc", "Abc", tagType.xmlElement, "1", "0", ""));
TreeDtStructure.Add("2", new node("DD", "DD", tagType.xmlAttribute, "2", "1", ""));

렇게 만들 어진 데이터를 조금 가공을 하면 Tree 형태의 Structure로도 표현이 가능합니다. 

이후 만들어진 Xml 파일은 

윈도우에서 제공하는 XSD.EXE 란 파일을 통해서 Class가 생성이 되는데, 

이러한 클래스를 활용하여 1:1 ORM 으로 처리 하여도 됩니다.


 
그림을 보며 설명 드리겠습니다. 

소스의 형태는 이러합니다.



실행을 하면, 간략히 현재 실행되는 부분에 관한 글귀가 나옵니다.



실행 후 나온 결과값을 블록 설정후 복사를 합니다.



Root 를 만들어 놓고 빈 XML 파일을 저장해 놓습니다.



기존에 Root 밑에 붙여 넣기를 하면 원하던 XML 파일이 생성됩니다.





'Geeks_Company 자료' 카테고리의 다른 글

Geeks_DB_Scheme_Analyzer  (0) 2011.11.10
XML Serializer.  (0) 2011.09.15
Geeks_Parser 0.1을 만들었네요.  (0) 2011.07.24
Geeks_DbUtility.  (0) 2011.07.17
Geeks_PFXUtilizer  (0) 2011.07.13