회사에서 XML 데이터를 CSV 형태로 바꿀 일이 가끔 있는데
C++로 파싱해서 저장하는 프로그램을 만들었다.
프로젝트 생성하고 설정한 다음에 빌드하는게 귀찮더라는...
생각해보니 XSLT 써서 TEXT 파일로 컨버팅하면 될 것 같더라는...
C++ / C# / Perl 등 다양한 언어로 할 수 있겠지만
C++은 생산성이 떨어지고
C#은 어차피 컴파일해야 돌아가니 별 의미 없고
Perl은 다른 사람들이 문법을 모르니 -_-;;
.net 컴포넌트를 마음대로 가져다 쓸 수 있고
UI 작업도 가능하다고 하는 PowerShell 로 작업하기로 결정
아래와 같이 .net 객체 만들어서 transform 하면 끝 -ㅅ-
앞으로는 각 변환 작업에 맞춰서 XSLT 만 작업하면 된다능 :)
몇 몇 거지같은 요소 빼고 파워쉘 만세!!
; 문서 보는게 C++, C# MSDN 보다 불편
; 실행할 때 security-policy 바꿔줘야하는 것
; include 같은 요소가 없는 것
C++로 파싱해서 저장하는 프로그램을 만들었다.
프로젝트 생성하고 설정한 다음에 빌드하는게 귀찮더라는...
생각해보니 XSLT 써서 TEXT 파일로 컨버팅하면 될 것 같더라는...
C++ / C# / Perl 등 다양한 언어로 할 수 있겠지만
C++은 생산성이 떨어지고
C#은 어차피 컴파일해야 돌아가니 별 의미 없고
Perl은 다른 사람들이 문법을 모르니 -_-;;
.net 컴포넌트를 마음대로 가져다 쓸 수 있고
UI 작업도 가능하다고 하는 PowerShell 로 작업하기로 결정
아래와 같이 .net 객체 만들어서 transform 하면 끝 -ㅅ-
$script:xslt = new-object system.xml.xsl.xslcompiledtransform
## load xslt file
$xslt.load( $xslFilePath )
## transform
$xslt.Transform( $originalXmlFilePath, $outputFilePath )
출처 : http://huddledmasses.org/convert-xml-with-xslt-in-powershell/
## load xslt file
$xslt.load( $xslFilePath )
## transform
$xslt.Transform( $originalXmlFilePath, $outputFilePath )
출처 : http://huddledmasses.org/convert-xml-with-xslt-in-powershell/
앞으로는 각 변환 작업에 맞춰서 XSLT 만 작업하면 된다능 :)
몇 몇 거지같은 요소 빼고 파워쉘 만세!!
; 문서 보는게 C++, C# MSDN 보다 불편
; 실행할 때 security-policy 바꿔줘야하는 것
; include 같은 요소가 없는 것
728x90