2012-07-18 2 views
0

폴더에 XML 파일이 많이 있습니다. 도서의 한 페이지에 하나의 XML이 있습니다. 모든 XML을 하나의 루트 XML 파일에 넣은 다음 네임 스페이스와 원하지 않는 속성 (XSL 스타일 시트가 있음)을 제거하고 XSL을 사용하여 첫 번째 변환을 수행하고 새 XML을 저장하고 다른 스타일 시트를 사용하여 다시 변환해야합니다. 그것도 준비했습니다) 결과 텍스트 파일을 저장하십시오. XML 파일 하나를 사용하여 집에서 Oxygen으로 처리하지만이 프로세스를 자동으로 만들어 일부 스크립트로 실행해야합니다. Windows에서 작동해야하며 산소가 없으면 고객이 직접 소프트웨어를 만들지 않고 직접 만들려고합니다. ! ENTITY 태그를 사용하여 루트 XML을 작성하지 않고 XML을 함께 저장하는 방법은 무엇입니까? 어떤 소프트웨어 도구 (XSL 변환 용)를 사용할 수 있습니까? Windows 용 스크립트를 만드는 방법은 무엇입니까? 저는 Python으로 프로그래밍하고 Java로 프로그래밍을합니다. 대단히 감사합니다.많은 XML을 함께 집어 넣고 Windows에서 변환하는 방법

+2

[무엇을 시도해 봤습니까?] (http://whathaveyoutried.com) – nfechner

답변

0

XML 파일을 하나의 파일로 처리하기 위해 하나의 옵션은 모든 XML 파일에 대한 외부 엔터티 참조가있는 루트 XML 파일을 생성하는 cmd.exe 배치 스크립트를 작성하는 것입니다.

아마도이 같은 (확장자없이 XML 파일 이름을 가정이 허용되는 개체 이름) : 또는

@echo off 
del root.xml 2> nul 
(
    echo ^<!DOCTYPE root [ 
    for %%f in (*.xml) do (echo ^<!ENTITY %%~nf SYSTEM "%%f"^>) 
    echo ]^> 
    echo ^<root^> 
    for %%f in (*.xml) do (echo ^&%%~nf;) 
    echo ^</root^> 
) > root.tmp 
move root.tmp root.xml > nul 

, 그럴 수 단지 출력을 사용하여 파일을 일부 XML 태그를 사용하고, 액세스 파일 이름 document()은 XSLT의 기능입니다.

명령 줄에서 XSLT 변환을 실행하려면 시스템에 이미 설치된 MSXML 라이브러리의 프론트 엔드 인 msxsl.exe 명령 줄 유틸리티를 사용할 수 있습니다.

msxsl root.xml stylesheet.xsl 
관련 문제