java 将数据写入到 XML 中的简单示例及相关代码说明

2 篇文章 0 订阅

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、代码解析:

具体解析查看 代码中的注释

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值