Page 1 of 1

So schließen Sie das „xs:type“-Tag beim Erweitern eines Transienten aus

Posted: 20 Dec 2024, 12:08
by Guest

Gewünschtes Ergebnis:

Einfacher Wechsel zwischen


..
..



und


..
..
..
..


Mein Code

@XmlRootElement(name= "root")
public class Root {
@XmlElement(name="child")
public Child child
}

@XmlRootElement(name= "root")
public class ExtendedRoot {
@XmlElement(name="child")
public ExtendedChild child
}

@XmlTransient
public class Child {
// prop1, prop2
}

@XmlType(propOrder = {"prop1", "prop3","prop4", "prop2"})
public class ExtendedChild {
// prop3, prop4
}

System.setProperty("javax.xml.bind.context.factory", "org.eclipse.persistence.jaxb.JAXBContextFactory")
Class clazz = extendChild ? ExtendedRoot.class : Root.class;
JAXBContext jc = JAXBContext.newInstance(clazz);
Marshaller marshaller = jc.createMarshaller();
marshaller.marshal(formattedJob, tempFile);

Tatsächliches Ergebnis


..
..
..
..



Wie kann ich diesen xs:type=... vom untergeordneten-Tag ausschließen?