Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java生成xml文件

作者:昔日暖阳   发布日期:2025-07-03   浏览:3

import java.io.File;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

public class GenerateXML {

    public static void main(String[] args) {
        try {
            // 创建一个新的Document对象
            DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

            // 创建一个空白的XML文档
            Document doc = docBuilder.newDocument();
            Element rootElement = doc.createElement("company");
            doc.appendChild(rootElement);

            // 创建子元素并添加到根元素中
            Element staff = doc.createElement("staff");
            rootElement.appendChild(staff);

            // 设置属性
            staff.setAttribute("id", "1");

            // 添加员工信息
            Element firstname = doc.createElement("firstname");
            firstname.appendChild(doc.createTextNode("John"));
            staff.appendChild(firstname);

            Element lastname = doc.createElement("lastname");
            lastname.appendChild(doc.createTextNode("Doe"));
            staff.appendChild(lastname);

            Element nickname = doc.createElement("nickname");
            nickname.appendChild(doc.createTextNode("johny"));
            staff.appendChild(nickname);

            Element salary = doc.createElement("salary");
            salary.appendChild(doc.createTextNode("70000"));
            staff.appendChild(salary);

            // 写入XML文件
            TransformerFactory transformerFactory = TransformerFactory.newInstance();
            Transformer transformer = transformerFactory.newTransformer();
            DOMSource source = new DOMSource(doc);
            StreamResult result = new StreamResult(new File("C:\\file\\output.xml"));

            // 输出到控制台,可以省略
            StreamResult consoleResult = new StreamResult(System.out);

            // 将DOM树写入文件
            transformer.transform(source, result);
            transformer.transform(source, consoleResult);

            System.out.println("XML 文件生成成功");

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

解释说明:

  1. 创建Document对象

    • 使用DocumentBuilderFactoryDocumentBuilder来创建一个空白的XML文档。
  2. 创建根元素

    • 创建一个名为company的根元素,并将其添加到文档中。
  3. 创建子元素

    • 创建一个名为staff的子元素,并为其设置属性id
    • staff元素添加子元素firstnamelastnamenicknamesalary,并为这些元素设置文本内容。
  4. 写入XML文件

    • 使用TransformerFactoryTransformer将DOM树转换为XML格式,并将其写入指定路径的文件中(例如C:\\file\\output.xml)。
    • 同时也可以输出到控制台以便查看结果。
  5. 异常处理

    • 捕获并打印可能发生的异常,确保程序在遇到错误时不会崩溃。

上一篇:java自旋锁

下一篇:java 字符串占位符

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站