optional JAXB xml-Attribut beim marshalling
Wenn ich Marschall von java-Objekt mit JAXB, erhalte ich die folgende xml-element
<error line="12" column="" message="test" />
Aber ich will xml als unten
<error line="12" message="test" />
Wenn die Spalte Wert leer ist, dann brauche ich, um die xml, wie oben gezeigt, sonst brauche ich, um die Spalte Attribut im element.
Gibt es eine Möglichkeit es zu bekommen?
InformationsquelleAutor Suresh | 2012-11-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein Attribut wird nur umgewandelt werden mit einer leeren
String
Wert, wenn das entsprechende Feld/die Eigenschaft enthält einen leerenString
Wert. Wenn der Wert null ist, wird das Attribut nicht gemarshallt werden.Root
Demo
Ausgabe
Sie bedeuten für
int
Sie bekommenfoo="0"
? Sie könnte sich ändern, das Feld/die Eigenschaft vonInteger
statt. Dann, wenn es einen null-Wert, wird es nicht schreiben, das Attribut.können Sie sagen, wie zu konstruieren xsd zu haben primitive-wrapper anstelle von primitiven Typ in den generierten Klassen? Ich habe dieses: <xs:attribute name="fromFraction" type="xs:float" use="optional" default="0.0"/> und es erzeugt fromFraction Bereich als float, und dann kann ich ihn nicht loswerden in der Ergebnis-XML.
InformationsquelleAutor bdoughan