,이 시도 :
jaxbContext.createMarshaller().marshal(jaxbObject, System.out);
가 String
로를 얻으려면 사용하십시오 StringWriter
:
StringWriter writer = new StringWriter();
jaxbContext.createMarshaller().marshal(jaxbObject, writer);
String xmlString = writer.toString();
있다 JAXBContext를 얻으려면 다음을 수행해야 할 객체 :
JAXBContext jaxbContext = JAXBContext.newInstance(<WhateverClass>.class);
여기서 <WhateverClass>
은 th e 유형은 jaxbObject
입니다. 또한 할 수 있어야합니다 :
JAXBContext jaxbContext = JAXBContext.newInstance(jaxbObject.getClass());
컨텍스트 및 스타일 선호를 정의하는 위치에 따라 다릅니다. JAXBContext
은 스레드로부터 안전하기 때문에 하나의 인스턴스를 정의하고 공유하는 것이 좋습니다. Marshaller
및 Unmarshaller
은 그러한 보증을하지 않습니다. 따라서 그들은 필요에 따라 만들어야합니다.
출처
2011-08-04 12:05:17
laz
어디에서'jaxbContext'를 얻을 수 있습니까? –
@Bart이 객체를 찾을 수있는 패키지 이름 목록을 전달하여 [JAXBContext] 인스턴스를 가져와야합니다. (http://download.oracle.com/javase/6/docs/api/javax/xml /bind/JAXBContext.html). – asgs
@asgs - 클래스 나 패키지 이름 (패키지에'jaxb.index' 파일 또는'ObjectFactory'가 포함되어있는 곳)을 전달하여 새로운'JAXBContext'를 생성 할 수 있습니다. –