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

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

Post by Guest »

Gewünschtes Ergebnis:

Einfacher Wechsel zwischen

Code: Select all


..
..


und

Code: Select all


..
..
..
..


Mein Code

Root.java

Code: Select all

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

Code: Select all

@XmlRootElement(name= "root")
public class ExtendedRoot extends Root {
@XmlElement(name="child")
public ExtendedChild child
}
Child.java

Code: Select all

@XmlTransient
public class Child {
// prop1, prop2
}
ExtendedChild.java

Code: Select all

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

Main

Code: Select all

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

Code: Select all


..
..
..
..


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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post