In dieser Zeit habe ich versucht, Java Bean und XML mit dem Jackson-Formatierer XML zu konvertieren

Hintergrund

~~ Bitte sehen Sie ~~

Vorbereitung

Fügen Sie pom Folgendes hinzu


<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
    <version>2.9.8</version>
</dependency>

Detaillierte Verwendung

http://fasterxml.github.io/jackson-dataformat-xml/javadoc/2.9/

Verschiedene Unterrichtsvorbereitungen

Annahme

-Ich habe Lomboks @Builder beim Erstellen von Bean-Daten verwendet (in diesem Artikel nicht erwähnt).   https://projectlombok.org/

Bean

TestBean.java


@Data
@Builder
@JacksonXmlRootElement(localName = "top_element")
public class TestBean implements Serializable {

    // isAttribute =Wenn true angegeben ist, wird es zu einem Attribut
    @JacksonXmlProperty(localName = "id", isAttribute = true)
    private String topElement;

    @JacksonXmlProperty(localName = "test_field")
    private String testField;
    
    //Sie können auch verschachtelte Beans schreiben
    @JacksonXmlProperty(localName = "test_inner_bean")
    private TestInnerBean testInnerBean;

    //Sie können eine Liste der Bohnen im Feld haben
    @JacksonXmlElementWrapper(localName = "dtls")
    @JacksonXmlProperty(localName = "dtl")
    private List<DtlsInnerDto> dtlsInnerDto;

Bohnen zum Nisten

TestInnerBean.java


@SuppressWarnings("serial")
@Data
@Builder
public class TestInnerBean implements Serializable {

    @JacksonXmlProperty(localName = "inner_field_one")
    private String innerFieldOne;

    @JacksonXmlProperty(localName = "inner_field_two")
    private String innerFieldTwo;
}

Liste der verschachtelten Bohnen

DtlsInnerDto.java


@SuppressWarnings("serial")
@Data
@Builder
public class DtlsInnerDto implements Serializeble {
    @JacksonXmlProperty(localName = "dtl_item")
    private String dtlItem;
}

Bean → XML-Konvertierungsverarbeitungscode

import com.fasterxml.jackson.dataformat.xml.XmlMapper;

String xml = new XmlMapper().writeValueAsString(Bohnenmontageprozess());

Konvertierungsergebnis

<top_element id="xxx">
  <test_field>xxx</test_field>
  <test_inner_bean>
     <inner_field_one>xxx</inner_field_one>
     <inner_field_two>xxx</inner_field_two>
  </test_inner_bean>
 <dtls>
    <dtl>xxx</dtl>
    <dtl>yyy</dtl>
    <dtl>zzz</dtl>
  </dtls>
</top_element>

Verarbeitungscode für XML → Bean-Konvertierung

import com.fasterxml.jackson.dataformat.xml.XmlMapper;

Bohnen der Bohnenklasse= new XmlMapper().readValue(XML-Zeichenfolge,Bohnenklasse.class)

Memo

--Wenn Sie eine Liste ausdrücken möchten http://labs.opentone.co.jp/?p=6634

Recommended Posts

In dieser Zeit habe ich versucht, Java Bean und XML mit dem Jackson-Formatierer XML zu konvertieren
Ich habe versucht, CSV mit Outsystems zu lesen und auszugeben
Ich habe versucht, in Java von einer Zeichenfolge in einen LocalDate-Typ zu konvertieren
Ich habe versucht, mit Java zu interagieren
Ich habe versucht, mit Web Assembly zu beginnen
Ich habe das neue Yuan-Problem in Java ausprobiert
Ich habe versucht, das Problem der Tribonacci-Sequenz in Ruby mit Wiederholung zu lösen.
Ich habe versucht, die Geschwindigkeit von Graal VM mit JMH zu messen und zu vergleichen
Konvertieren Sie mit Ruby von JSON nach TSV und von TSV nach JSON
Ich habe versucht, automatisch eine Klasse zu generieren, um sie mit APT von einer Datenklasse in ein Bundle zu konvertieren
Ich habe versucht, AdoptOpenJDK 11 (11.0.2) mit dem Docker-Image zu überprüfen
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
Ich habe versucht, polymorph in Nogizaka zu implementieren.
Ich habe versucht, Anmeldeinformationen mit JMX zu verwalten
Ich habe versucht, die Sitzung in Rails zu organisieren
Ich habe versucht, grafana und postgres [docker-compose] zu verknüpfen
Ich habe auch Web Assembly mit Nim und C ausprobiert
Ich habe versucht, neunundneunzig in Java auszugeben
Ich habe versucht, JavaFX und Spring Framework zu verknüpfen.
Ich habe versucht, eine Anwendung in 2 Sprachen zu entwickeln
Ich habe versucht, den Block mit Java zu brechen (1)
Ich habe versucht, die Telefonnummer (Festnetz / Mobiltelefon) mit einem regulären Ausdruck in Rails auszudrücken und Validierung und Test zu schreiben
Ich habe versucht, mit Java und Spring eine Funktion / einen Bildschirm für den Administrator einer Einkaufsseite zu erstellen
Ich habe versucht, was ich mit Stream leise versuchen wollte.
Konvertieren Sie JSON und YAML in Java (mit Jackson und SnakeYAML)
Versuchte Mastodons Toot- und Streaming-API in Java
Konvertieren Sie Java Enum Enumeration und JSON von und nach Jackson
Ich habe versucht, das Hochladen von Dateien mit Spring MVC zu implementieren
Ich habe versucht, TCP / IP + BIO mit JAVA zu implementieren
Ich habe versucht, die Firebase-Push-Benachrichtigung in Java zu implementieren
[Java 11] Ich habe versucht, Java auszuführen, ohne mit Javac zu kompilieren
# 2 [Anmerkung] Ich habe versucht, neunundneunzig mit Java zu berechnen.
Ich habe versucht, AWS I oT Button und Slack zu integrieren
Ich habe versucht, mit Spring Data JPA zu beginnen
Ich habe versucht, eine Clova-Fähigkeit in Java zu erstellen
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
Ich habe versucht, verschiedene link_to zusammenzufassen, die dieses Mal verwendet wurden
Ich habe versucht, Sterling Sort mit Java Collector zu implementieren
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
Ich habe versucht, die Methode der gegenseitigen Teilung von Eugrid in Java zu implementieren
~ Ich habe jetzt versucht, funktionale Programmierung mit Java zu lernen ~
Ich habe versucht, C # zu kauen (Dateien lesen und schreiben)
Ich habe versucht herauszufinden, was sich in Java 9 geändert hat
Einfacher LINE BOT mit Java Servlet Teil 2: Ich habe versucht, Bildnachrichten und Vorlagen zu erstellen
Ich habe versucht, innerhalb von 3 Monaten einen Antrag von unerfahren zu stellen
Ich habe versucht, mit Chocolatey eine Java8-Entwicklungsumgebung zu erstellen
Ich habe versucht, eine Java EE-Anwendung mit OpenShift zu modernisieren.
Ich habe versucht, die Verarbeitungsgeschwindigkeit mit spiritueller Technik zu erhöhen
Ich habe versucht, Rubys "Klassen" -Probleme zu sammeln und zu lösen.
Ich habe versucht, die Grundlagen von Kotlin und Java zusammenzufassen
[Rails] Ich habe versucht, eine Mini-App mit FullCalendar zu erstellen
Ich möchte eine Liste mit Kotlin und Java erstellen!
Ich möchte eine Funktion mit Kotlin und Java erstellen!
[jackson] Ich möchte die JSON-Werte "0" und "1" als Booleschen Wert erhalten
Ich habe versucht, Java Optional und Guard-Klausel koexistieren zu lassen