XML 使用JAXB创建xml java解析xml

2024-02-16 10:32
文章标签 java xml 使用 创建 解析 jaxb

本文主要是介绍XML 使用JAXB创建xml java解析xml,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下面我们通过两个bean类创建和解析xml文件

package com.sg.xml;

public class ClassRoom {
 private int id ;
 private String name;
 private int grade;
 
 public ClassRoom(int id, String name, int grade) {
  super();
  this.id = id;
  this.name = name;
  this.grade = grade;
 }
 
 public ClassRoom() {
  super();
 }

 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public int getGrade() {
  return grade;
 }
 public void setGrade(int grade) {
  this.grade = grade;
 }
}

 

Student.java

 

package com.sg.xml;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Student {
 int id ;
 String name;
 int age ;
 ClassRoom classRoom;
 
 
 
 public Student() {
  super();
 }
 public Student(int id, String name, int age, ClassRoom classRoom) {
  super();
  this.id = id;
  this.name = name;
  this.age = age;
  this.classRoom = classRoom;
 }
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
 public ClassRoom getClassRoom() {
  return classRoom;
 }
 public void setClassRoom(ClassRoom classRoom) {
  this.classRoom = classRoom;
 }
}

 

下面是测试类:

 

package com.sg.xml;

import java.io.File;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;

import org.junit.Test;

public class TestJaxb {
 
 //创建xml
 @Test
 public void test01(){
  try {
   JAXBContext context = JAXBContext.newInstance(Student.class);
   Marshaller marshaller = context.createMarshaller();
   Student student = new Student(1, "孙刚", 20, new ClassRoom(1, "软件技术1002班", 2012));
   marshaller.marshal(student, new File("f:"+File.separator+"xml01.xml"));
  } catch (JAXBException e) {
   e.printStackTrace();
  }
 }
 //解析xml
 @Test
 public void test02(){
  File file = new File("f:"+File.separator+"xml01.xml");
  
  try {
   JAXBContext context = JAXBContext.newInstance(Student.class);
   Unmarshaller unmarshaller = context.createUnmarshaller();
   
   Student student = (Student)unmarshaller.unmarshal(file);
   
   System.out.println(student.getName()+","+student.getClassRoom().getName());
  } catch (JAXBException e) {
   e.printStackTrace();
  }
  
 }
}

 

 

创建结果如下:

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<student>
 <age>20</age>
  <classRoom>
   <grade>2012</grade>
   <id>1</id>
   <name>软件技术1002班</name>
  </classRoom>
 <id>1</id>
 <name>孙刚</name>
</student>

这篇关于XML 使用JAXB创建xml java解析xml的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/714279

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实