내가 만든 xsd에서 생성 된 jaxb 개체가 있습니다. 나는이 내용을 정렬 화시 이전 XML 출력은 다음과 같이 보았다 : 나는 맥에 윈도우 머신에 코딩부터 변경 최근 한jaxb 마샬링 xmlns 특성을 xml 출력에 누락 사용
<report xmlns="urn:com-test-person-data:v3">
<person-data>
.......(Data)
</person-data>
</report>
. 내가 사용하고있는 jaxb 객체에서 아무 것도 변하지 않았습니다. 하지만 지금은 마샬링 결과물이 이렇게 보입니다.
<report>
<person-data>
.......(Data)
</person-data>
</report>
xmlns 속성을 제거 할 수있는 항목을 확인하기 위해 일부 파기를 시도했지만 운이 없었습니다. 이 속성을 사용하여 사용중인 스키마의 버전을 확인하므로 출력 된 XML 조각에 중요합니다.
final JAXBContext context = JAXBContext.newInstance(Report.class);
final Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8"); //$NON-NLS-1$
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
marshaller.marshal(reportJaxBObject, sw);
모든 아이디어 : 나는 마샬를 호출 할 경우
다음은 코드입니까?
마샬링 할 대상이되는 'sw'개체는 무엇입니까? –
죄송합니다. 게시해야합니다. 이것은 java.io.StringWriter의 인스턴스입니다. – vogelj