Java로 XSLT 처리?
JDK를 사용하여 Java에서 XSLT 프로세서로 XML을 변환하는 방법은 무엇입니까?
@Raedwald가 말했듯이 변압기에 Java API를 사용하는 샘플은 다음과 같습니다.
import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
public class TestMain {
public static void main(String[] args) throws IOException, URISyntaxException, TransformerException {
TransformerFactory factory = TransformerFactory.newInstance();
Source xslt = new StreamSource(new File("transform.xslt"));
Transformer transformer = factory.newTransformer(xslt);
Source text = new StreamSource(new File("input.xml"));
transformer.transform(text, new StreamResult(new File("output.xml")));
}
}
입력은 문자열 또는 DOMSource에서 올 수 있으며 출력은 DOMSource 등에서 올 수 있습니다 .
Java 표준 라이브러리는 XML 구문 분석을위한 (XSLT) 변환 인터페이스를 제공합니다. 클래스 javax.xml.transform.Transformer
및 javax.xml.transform.TransformerFactory
.
xslt를 처음 사용합니다. 아무도 Java로 xslt 처리하는 방법을 안내 할 수 있습니까?
이것은 사용중인 Java 기반 XSLT 프로세서에 따라 다릅니다. 각 XSLT 프로세서에는 자체 API가 있습니다.
예를 들어 Saxon 6.5.5 (XSLT 1.0 용) 및 Saxon 9.1.07 (XSLT 2.0 용)은 Java로 작성됩니다. 설명서는 http://www.saxonica.com/documentation/documentation.xml 에 있습니다 .
거의 모든 XSLT 프로세서에는 명령 줄 유틸리티 가있어 XSLT 변환을 수행하기 위해 프로그램을 작성할 필요가 없습니다.
예를 들어, 여기에 있습니다 : 명령 행에서 색슨 9.x의 변환을 시작하는 방법 .
다음은 명령 줄에서 항상 Saxon을 사용하는 방법입니다 .
java -Xms2048M -Xmx10000M -jar
C:\xml\Parsers\Saxon\Ver.9.1.0.7\J\saxon9.jar
-t -repeat:1 -o %out% %xml% %xsl% %param[ name=\"value\"]%
여기서는 %out%
출력 파일의 이름 %xml%
, xml 파일, %xsl%
기본 xslt 파일 및 %param[ name=\"value\"]%
외부 매개 변수의 이름-값 목록입니다 (거의 항상이 항목을 비워 둡니다).
JAXP는 XSLT 변환 작업에 독립적 인 구현 방법을 제공합니다. 다음은 시작하는 데 도움 이되는 자습서 입니다. 거대한 XSLT로 작업하거나 여러 XSLT로 작업하는 경우 성능상의 이유로 구문 분석 된 XSLT 템플릿을 캐싱하는 옵션도 있습니다. 이 기사에서는 xslt를 캐시하는 방법을 설명합니다.
참고 URL : https://stackoverflow.com/questions/4604497/xslt-processing-with-java
'Programing' 카테고리의 다른 글
iOS 7 UISearchDisplayController 검색 표시 줄이 검색하는 동안 상태 표시 줄과 겹칩니다. (0) | 2020.11.14 |
---|---|
언제 StringBuilder를 사용합니까? (0) | 2020.11.14 |
ReSharper 키 바인딩 문제 (0) | 2020.11.14 |
문자열에서 파일의 메서드를 동적으로 가져 오기 (0) | 2020.11.14 |
int를 16 진수로 다시 변환하는 Java (0) | 2020.11.14 |