
Java
Javaimport Javax.XML.bind.annotation.*;@XMLRootElementpublic class Student { private String name; private int age; public Student() { } public Student(String name, int age) { this.name = name; this.age = age; } @XMLElement public String getName() { return name; } public void setName(String name) { this.name = name; } @XMLElement public int getAge() { return age; } public void setAge(int age) { this.age = age; }}在上面的代码中,我们使用了 @XMLRootElement 注解来标记 Student 类作为根元素,@XMLElement 注解来标记字段作为子元素。这样,当我们将一个 Student 对象转换为 XML 时,它将按照我们定义的映射关系生成相应的 XML 文档。将 Java 对象转换为 XML使用 JAXB 将 Java 对象转换为 XML 非常简单,只需要创建一个 JAXBContext 对象,并调用其 createMarshaller() 方法来创建一个 Marshaller 对象。然后,使用 Marshaller 对象的 marshal() 方法将 Java 对象转换为 XML。下面是一个示例代码,将一个 Student 对象转换为 XML:Javaimport Javax.XML.bind.*;public class JavaToXML { public static void mAIn(String[] args) throws JAXBException { Student student = new Student("John", 20); JAXBContext jaxbContext = JAXBContext.newInstance(Student.class); Marshaller marshaller = jaxbContext.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.marshal(student, System.out); }}在上面的代码中,我们首先创建了一个 Student 对象,并设置了其名字和年龄。然后,我们创建了一个 JAXBContext 对象,传入 Student.class 来指定要转换的类。接下来,我们创建了一个 Marshaller 对象,并设置了格式化输出的属性。最后,我们调用 marshaller 对象的 marshal() 方法,将 student 对象转换为 XML,并输出到控制台。使用 DOM 进行 Java 到 XML 的转换除了使用 JAXB,我们还可以使用 DOM(文档对象模型)来进行 Java 到 XML 的转换。DOM 是一种将 XML 文档表示为树状结构的 API,可以通过操作树节点来创建、修改和读取 XML 文档。下面是一个示例代码,使用 DOM 将一个 Student 对象转换为 XML:Javaimport org.w3c.dom.*;import Javax.XML.parsers.*;import Javax.XML.transform.*;import Javax.XML.transform.dom.DOMSource;import Javax.XML.transform.stream.StreamResult;public class JavaToXML { public static void mAIn(String[] args) throws Exception { Student student = new Student("John", 20); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.newDocument(); Element rootElement = document.createElement("Student"); document.appendChild(rootElement); Element nameElement = document.createElement("Name"); nameElement.appendChild(document.createTextNode(student.getName())); rootElement.appendChild(nameElement); Element ageElement = document.createElement("Age"); ageElement.appendChild(document.createTextNode(String.valueOf(student.getAge()))); rootElement.appendChild(ageElement); TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); DOMSource source = new DOMSource(document); StreamResult result = new StreamResult(System.out); transformer.transform(source, result); }}在上面的代码中,我们首先创建了一个 Student 对象,并设置了其名字和年龄。然后,我们使用 DocumentBuilderFactory 和 DocumentBuilder 创建了一个 Document 对象,表示要生成的 XML 文档。接下来,我们创建了根元素和子元素,并将它们添加到文档中。最后,我们使用 TransformerFactory 和 Transformer 将文档转换为 XML,并输出到控制台。通过本文,我们了解了如何使用 JAXB 和 DOM 将 Java 对象转换为 XML。JAXB 提供了一种简单的方式来定义 Java 类与 XML 文档之间的映射关系,并进行对象的序列化和反序列化。而 DOM 则提供了一种基于树结构的 API,可以通过操作树节点来创建、修改和读取 XML 文档。根据实际需求,我们可以选择适合的方法来进行 Java 到 XML 的转换。Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号