使用dom4j工具:设置输出两种xml格式-紧密型和美观型

简介: 今天学习使用不知名大佬的domj4 jar包以及用到的几个其他的包,来简单写一个xml

今天学习使用不知名大佬的domj4 jar包以及用到的几个其他的包,来简单写一个xml

import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
/**
 * @Description: xml的写入
 * @auther:Li Ya Hui
 * @Time:2021年4月15日下午2:25:35
 */ 
public class Test2 {
  public static void main(String[] args) throws IOException {
    //创建一个文档对象
    Document document = DocumentHelper.createDocument();
    //创建根元素
    Element rootElement = document.addElement("person");
    //给根元素添加属性
    rootElement.addAttribute("sex", "男");
    //通过根元素创建子元素
    Element brainElement = rootElement.addElement("brain");
    //给brain添加属性
    brainElement.addAttribute("size", "36");
    //给brain添加文本值
    brainElement.setText("脑袋");
    //.通过根元素创建子元素
    Element lefteyes = brainElement.addElement("eyes");
    //给lefteyes添加属性
    lefteyes.addAttribute("num", "0.3");
    //给lefteyes添加文本值
    lefteyes.setText("左眼");
    //.通过眼元素创建子元素
    Element righteyes = brainElement.addElement("eyes");
    //给righteyes添加属性
    righteyes.addAttribute("num", "0.5");
    //给lefteyes添加文本值
    righteyes.setText("右眼");
    //设定格式化输出标准
    OutputFormat format = new OutputFormat().createPrettyPrint(); //漂亮的输出  (有回车的输出)
//    OutputFormat format = new OutputFormat().createCompactFormat(); //紧凑的输出
    format.setEncoding("utf-8");//设定输出的内容的编码的格式
    //最后写入    写入其实是一个io操作
    //s设定文件存放的路径
    String path = "E://person.xml";
    FileWriter fileWriter = new FileWriter(path);//开启一个写入对象,意思为与path构建一个流链接
    //将文件对象存放到xml
    XMLWriter xmlWriter = new XMLWriter(fileWriter);
    //将文档输入到xml对象中
    xmlWriter.write(document);
    //关闭相对应的流对象
    xmlWriter.close();
    fileWriter.close();
    System.out.println("写入成功了");
    //测试
    System.out.println(document.asXML());
  }
}

文件的展示效果

紧密型

14.png

换行输出美观型

15.png

目录
相关文章
|
3月前
|
XML JavaScript Java
【JAVA XML 探秘】DOM、SAX、StAX:揭秘 Java 中 XML 解析技术的终极指南!
【8月更文挑战第25天】本文详细探讨了Java中三种主流的XML解析技术:DOM、SAX与StAX。DOM将XML文档转换为树状结构,便于全方位访问和修改;SAX采取事件驱动模式,适用于大型文件的顺序处理;StAX则兼具DOM和SAX的优点,支持流式处理和随机访问。文中提供了每种技术的示例代码,帮助读者理解如何在实际项目中应用这些解析方法。
161 1
|
4月前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
所有 modern browsers 支持 W3C DOM 规范, 但仍存在差异, 主要是处理空白和换行的不同。例如, 在 XML 中, Internet Explorer 不会将空白或换行视为文本节点, 而其他浏览器则会。这会导致相同的 XML 文档在 IE 中的子节点数为 4, 而在其他浏览器中为 9:
|
4月前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
所有 modern browsers 支持 W3C DOM, 但在处理空白和换行上存在差异。例如, 使用记事本编辑的 XML 可能包含 CR/LF 和额外空格。IE 不将空白视作文本节点, 与其他浏览器不同。
|
1月前
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
358 0
|
4月前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
所有 modern browsers 支持 W3C DOM, 但在处理空白和换行上存在差异。例如, 使用记事本编辑的 XML 可能包含 CR/LF 和额外空格。IE 不将空白视作文本节点, 而其他浏览器则会。这会导致对相同 XML 文档的 `childNodes` 长度计算不同: IE 显示 4 个子节点, 其他浏览器显示 9 个。
|
4月前
|
XML 存储 JavaScript
XML DOM - 访问节点
通过 DOM, 可全面访问 XML 文档的节点。实现这一目标有 3 种方法: 1. 使用 `getElementsByTagName()` 方法, 2. 遍历节点树, 3. 利用节点间的关联进行导航。 `getElementsByTagName()` 返回一个 Node List, 即节点数组。
|
4月前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
输出子节点的数量。结果取决于您所使用的浏览器。IE 浏览器会输出 4(提醒 4 个子节点),而其他浏览器会输出 9(提醒 9 个子节点)。
|
4月前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
遍历(Traverse)意味着在节点树中进行循环或移动。
|
4月前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
遍历(Traverse)意味着在节点树中进行循环或移动。
|
4月前
|
XML 存储 JavaScript
XML DOM - 访问节点
通过 DOM, 可全面访问 XML 文档的节点。实现这一目标有 3 种方法: - 使用 `getElementsByTagName()` 方法, - 循环遍历节点树, - 利用节点间关系进行导航。 `getElementsByTagName()` 返回一个 Node List,即一种节点数组形式。示例代码通过 `loadXMLDoc()` 函数加载 "books.xml" 文件到 `xmlDoc` 变量中,并随后在变量 `x` 中保存所需节点信息。