기본 작업을 여기 수행하려고합니다.Smooks 또는 무엇이든을 사용하여 XML 파일을 요소별로 분할합니다.
나는 을 간단하고 깔끔하게 정리했습니다. XML 콘텐츠를 요소별로 분리 할 수있는 Java 솔루션입니다. 전체 내용을 메모리에로드하고 싶지 않습니다. 즉, 요소를 스트리밍하고 싶습니다. 각 요소의 문자열 표현을 손에 넣고 원하는 곳으로 보내고 싶습니다. StAX를 가진
내 분명히 실패 풀 구문 분석 시도 :
while(xsr.hasNext()) {
if(xsr.next() == XMLEvent.START_ELEMENT && xsr.getLocalName().equals("Order")) {
String element = xsr.getElementText();
// or String element = xsr.getText();
}
}
는 또한 성공하지 에게 Smooks을 시도했습니다. 특히 여기에 제공된 예제는 요소의 문자열 XML을 유지하는 깔끔한 방법을 제공하지 않습니다. http://www.smooks.org/mediawiki/index.php?title=V1.4:Smooks_v1.4_User_Guide#Basic_Splitting_and_Routing XML 요소를 파일, DB 또는 JMS 대기열로 보내려는 경우 쉽고 간단합니다. 그러나 String XML을 사용하고 싶을 경우를 대비해서는 아닙니다.
내 자신의 SAX 기반 솔루션을 작성하는 것이 더 적은 노력이라고 생각하기에 너무 낙심하고 있습니다. 누가 나를 잘못 증명할 수 있니?
당신이 당신의 입력과 예상되는 출력의 예를 게재 할 수 있습니까? SAX는 정확히이 목적을 위해 만들어 졌기 때문에. –
나는 SAX가 아니라 Smooks를 사용하기를 원했다. 바퀴의 종류를 재발 명하지 않기 위해서입니다. 여기에는 엄격한 의미의 입력/출력이 없으며 요소 세트가있는 표준 XML 콘텐츠 만 있습니다. "주문"그게 전부 야. – Guido
모든 문자열을 하나로 묶으시겠습니까? –