How to use XML Beans in Java to achieve mutual conversion between XML and Java objects
To use XML Beans to achieve mutual conversion between XML and Java objects, you can follow the following steps:
1. Add XML Beans Maven dependency:
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>3.1.0</version>
</dependency>
2. Create an XML Schema file (XSD file) for defining XML structures and validating XML documents. For example, create an XSD file called "person. xsd" and define a "person" element that contains "name" and "age" attributes:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="age" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
3. Use the XMLBeans command line tool (xmlbeans-3.1.0. jar) to compile the XSD file into a Java class file. Open the command line terminal and execute the following command:
java -jar xmlbeans-3.1.0.jar person.xsd
The above commands will generate Java class file named "PersonDocument. java" and "PersonType. java".
4. In Java code, use the XML Beans API to read and manipulate XML documents. The following is an example code that parses an XML document containing a "person" element and converts it into a Java object:
import org.apache.xmlbeans.*;
import com.example.PersonDocument;
public class Main {
public static void main(String[] args) throws XmlException {
//Load an XML document from an XML file
XmlObject xmlObject = XmlObject.Factory.parse("person.xml");
//Convert an XML document into a PersonDocument object
PersonDocument personDoc = PersonDocument.Factory.parse(xmlObject);
//Get Person Object
PersonType person = personDoc.getPerson();
//Accessing and manipulating properties of Person objects
System.out.println("Name: " + person.getName());
System.out.println("Age: " + person.getAge());
}
}
In the example code, "person. xml" is an XML file containing the "person" element:
<person>
<name>John Doe</name>
<age>30</age>
</person>
Note: In practical use, relevant code adjustments should be made based on one's own XML structure and needs.