java 将数据写入到 XML 中的简单示例及相关代码说明
1、Java 到 XML 的数据交互原始代码
注在进行Java 开发的时候,相关的包需要进行导入;
否则编译器到不到想要的东西(比如各种类),一定会报错;
/**
* @author LuoBin
* @version 1.0
* @date 2021/6/26 4:29 下午
*/
import org.jdom.Attribute;
import org.jdom.Comment;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
import java.io.FileOutputStream;
import java.io.IOException;
public class XMLTest {
public static void main(String[] args) throws IOException
{
//创建文档
Document document = new Document();
//创建根元素
Element people = new Element("people");
//把根元素加入到document中
document.addContent(people);
//创建注释 comment 评论
Comment rootComment = new Comment("将数据从程序输出到XML中!");
Comment rootComment1 = new Comment("Hello XML");
//把注释加上去
people.addContent(rootComment);
people.addContent(rootComment1);
/*
第一个人
*/
Element person1 = new Element("person");
//把 person 元素加入到根元素中
people.addContent(person1);
//设置person1元素属性
person1.setAttribute("id", "001");
person1.setAttribute("hello", "world");
//设置另外一个属性 进行添加
Attribute person1_gender = new Attribute("gender", "male");
person1.setAttribute(person1_gender);
//自主添加属性
Attribute person1_age = new Attribute("age", "13");
person1.setAttribute(person1_age);
Element person1_name = new Element("name");
person1_name.setText("Jack");
person1.addContent(person1_name);
Element person1_address = new Element("address");
person1_address.setText("Anywhere");
person1.addContent(person1_address);
Element person1_street = new Element("street");
person1.addContent(person1_street);
Element person1_street_name = new Element("street_name");
person1_street_name.setText("xue yuan lu");
person1_street.addContent(person1_street_name);
Element person1_no = new Element("number");
person1_no.setText("29");
person1_street.addContent(person1_no);
/*
第二个人
*/
Element person2 = new Element("person");
people.addContent(person2);
//添加属性,可以一次添加多个属性
person2.setAttribute("id", "002").setAttribute("gender","male");
Element person2_name = new Element("name");
person2_name.setText("Tom");
person2.addContent(person2_name);
Element person2_address = new Element("address");
person2_address.setText("OtherWhere");
person2.addContent(person2_address);
/*
第三个人
*/
Element person3 = new Element("person"); // 新建第三个人
people.addContent(person3); // 第三个人加到 根元素 people 中,与前两个人平级
person3.setAttribute("age","12"); // 设置第三个人的属性
Element person3_name = new Element("name");// 新建第三个人的名字标签 标签的名字叫做 name
person3_name.setText("Jerry"); // 第三个人的名字叫什么写好
person3.addContent(person3_name); // 将建好的第三个人的名字标签加上去
/*
设置xml输出格式
*/
Format format = Format.getPrettyFormat();
format.setEncoding("utf-8");//设置编码
format.setIndent(" ");//设置缩进
//得到xml输出流
XMLOutputter out = new XMLOutputter(format);
//把数据输出到xml中
out.output(document, new FileOutputStream("jdom.xml"));//或者FileWriter
}
}
2、输出的 XML 文件
<?xml version="1.0" encoding="utf-8"?>
<people>
<!--将数据从程序输出到XML中!-->
<!--Hello XML-->
<person id="001" hello="world" gender="male" age="13">
<name>Jack</name>
<address>Anywhere</address>
<street>
<street_name>xue yuan lu</street_name>
<number>29</number>
</street>
</person>
<person id="002" gender="male">
<name>Tom</name>
<address>OtherWhere</address>
</person>
<person age="12">
<name>Jerry</name>
</person>
</people>
3、代码解析:
具体解析查看 代码中的注释
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!