编写Java程序,使用 dom4j 创建一个 XML 文档,文档名为“city.xml”。注意该文档的格式和数据

简介: 编写Java程序,使用 dom4j 创建一个 XML 文档,文档名为“city.xml”。注意该文档的格式和数据

需求说明:


使用 dom4j 创建一个 XML 文档,文档名为“city.xml”。该文档的格式和数据如图所示


image.png

实现思路:


创建Java项目,添加dom4j对应jar包,创建CreateCityXML类

调用DocumentHelper的createDocument方法创建根节点,调用addAttribute方法设置name属性,并且设置为根节点

调用DocumentHelper的createDocument方法创建子节点,调用对应父节点Element对象的add方法添加子节点(注意父子关系结构顺序)

如果需要属性则调用Element对象的addAttribute设置,如果需要内容则调用setText方法设置内容

最后使用OutputFormat.createPrettyPrint()创建格式化保存对象,对Xml文档的保存工作

创建main方法调用创建方法及保存方法进行测试


实现代码:


import java.io.FileWriter;
import java.io.IOException;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class CreateCityXML {
  private Document document;
  private Element rootElement;
  // 该方法用于创建根节点
  public void createRootElement() {
    // 创建XML文件的文档对象
    document = DocumentHelper.createDocument();
    // 创建根节点
    rootElement = DocumentHelper.createElement("country");
    // 为根节点添加属性name
    rootElement.addAttribute("name", "中国");
    // 将rootElement设为根节点
    document.setRootElement(rootElement);
  }
  // 该方法用于创建子节点
  public void createChildElement() {
    // 创建湖北省子节点
    Element hubeiElement = DocumentHelper.createElement("province");
    // 为湖北省节点添加属性
    hubeiElement.addAttribute("name", "湖北");
    // 创建武汉市节点
    Element wuhanElement = DocumentHelper.createElement("city");
    // 为武汉市节点设置文本内容
    wuhanElement.setText("武汉");
    // 创建十堰市节点
    Element shiyanElement = DocumentHelper.createElement("city");
    // 为十堰市节点设置文本内容
    shiyanElement.setText("十堰");
    // 将武汉市节点和十堰市节点添加到湖北省节点内
    hubeiElement.add(wuhanElement);
    hubeiElement.add(shiyanElement);
    // 添加湖北省子节点到根节点中
    rootElement.add(hubeiElement);
    // 创建浙江省子节点
    Element zhejiangElement = DocumentHelper.createElement("province");
    // 为浙江省节点添加属性
    zhejiangElement.addAttribute("name", "浙江");
    // 创建杭州市节点
    Element hangzhouElement = DocumentHelper.createElement("city");
    // 为杭州市节点设置文本内容
    hangzhouElement.setText("杭州");
    // 创建宁波市节点
    Element ningboElement = DocumentHelper.createElement("city");
    // 为宁波市节点设置文本内容
    ningboElement.setText("宁波");
    // 将杭州市节点和宁波市节点添加到湖北省节点内
    zhejiangElement.add(hangzhouElement);
    zhejiangElement.add(ningboElement);
    // 添加浙江省子节点到根节点中
    rootElement.add(zhejiangElement);
  }
  // 将数据写入XML文档
  public void createXML(String path) {
    // 创建OutputFormat对象,用于格式化输出
    OutputFormat format = OutputFormat.createPrettyPrint();
    // 设置文档的编码
    format.setEncoding("UTF-8");
    try {
      // 创建XMLWriter对象,用于输出XML文档
      XMLWriter writer = new XMLWriter(new FileWriter(path), format);
      // 将Document文档输入到city.xml文件中
      writer.write(document);
      writer.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
  public static void main(String[] args) {
    CreateCityXML createCityXML = new CreateCityXML();
    // 创建文档和根节点
    createCityXML.createRootElement();
    // 创建子节点
    createCityXML.createChildElement();
    // 生成XML文件
    createCityXML.createXML("H:/city.xml");
  }
}
相关文章
|
JavaScript 前端开发 开发者
判断哪些数据的变化需要触发虚拟 DOM 的更新
判断哪些数据的变化需要触发虚拟 DOM 的更新,需要依据框架的响应式原理、组件的状态管理以及各种用户交互和异步操作等多方面因素。开发者需要深入理解所使用框架的工作机制,合理地组织和管理数据,以确保虚拟 DOM 的更新是高效且必要的。
291 58
|
6月前
|
XML 数据采集 API
用Lxml高效解析XML格式数据:以天气API为例
免费Python教程:实战解析中国天气网XML数据,详解Lxml库高效解析技巧、XPath用法、流式处理大文件及IP封禁应对策略,助你构建稳定数据采集系统。
353 0
|
XML 数据采集 存储
使用Java和XPath在XML文档中精准定位数据
在数据驱动的时代,从复杂结构中精确提取信息至关重要。XML被广泛用于数据存储与传输,而XPath则能高效地在这些文档中导航和提取数据。本文深入探讨如何使用Java和XPath精准定位XML文档中的数据,并通过小红书的实际案例进行分析。首先介绍了XML及其挑战,接着阐述了XPath的优势。然后,提出从大型XML文档中自动提取特定产品信息的需求,并通过代理IP技术、设置Cookie和User-Agent以及多线程技术来解决实际网络环境下的数据抓取问题。最后,提供了一个Java示例代码,演示如何集成这些技术以高效地从XML源中抓取数据。
517 7
使用Java和XPath在XML文档中精准定位数据
|
XML Java 数据格式
必知的技术知识:java基础73dom4j修改xml里面的内容(网页知识)
必知的技术知识:java基础73dom4j修改xml里面的内容(网页知识)
181 1
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
335 0
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
3138 0
|
数据采集 JavaScript 数据挖掘
如何使用 PHP Simple HTML DOM Parser 轻松获取网页中的特定数据
本文介绍了使用PHP Simple HTML DOM Parser进行网页数据抓取的方法,尤其适用于从懂车帝二手车网站提取汽车品牌、价格和里程等关键信息。首先,安装并配置所需库,使用代理IP和设置cookie与useragent来模拟用户行为,避免被封。然后,通过编写PHP脚本,利用cURL获取网页内容,解析HTML并提取所需数据,最终将数据保存至CSV文件。文章强调了正确配置代理和用户代理的重要性,并提供了完整的PHP代码示例,以帮助读者理解和应用网页抓取技术。
410 0
如何使用 PHP Simple HTML DOM Parser 轻松获取网页中的特定数据
|
XML JSON 开发框架
一篇文章讲明白JSON格式转换成XML格式
一篇文章讲明白JSON格式转换成XML格式
200 0
|
XML JSON 开发框架
一篇文章讲明白JSON格式转换成XML格式
一篇文章讲明白JSON格式转换成XML格式
237 0