마샬링 할 객체가 있지만 스키마에 @XmlRootElement 어노테이션이 없습니다. 내 유스 케이스를 들어JaxB가 @XmlRootElement 어노테이션없이 요소를 정렬하는 동안 ns2 접두어를 제거합니다.
<Foo xmlns:ns2="http://Foo/bar" test1="Foo">
<ns2:Element1>000000013</ns2:Element1>
<ns2:Element2>12345678900874357</ns2:Element2>
</Foo>
의 정렬 화 후
QName qName = new QName("", "Foo");
jaxb2Marshaller.marshal(new JAXBElement(qName, Foo.class, fooObj), new StreamResult(baos));
이 다음 XML 결과의 정렬 화를 내가없이 객체를 marhsall 싶습니다 동안
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
public static class Foo
{
@XmlAttribute(name = "test1")
public final static String TEST_1 = "Foo";
@XmlElement(name = "Element1", required = true)
protected String element1;
@XmlElement(name = "Element2", required = true)
protected String element2;
}
은 내가 jaxbElement를 지정하여 객체를 정렬 화 XML이 보이도록 ns2 접두어
<Foo xmlns="http://Foo/bar" test1="Foo">
<Element1>000000013</Element1>
<Element2>12345678900874357</Element2>
</Foo>
접두어없이이 개체를 어떻게 정렬 할 수 있습니까?
미리 감사드립니다.
고마워요! 나는 같은 해결책을 얻을 수 있었지만 그 이유를 이해하는 데 도움이되었습니다. –