java 怎样把xml弄成树形结构_将xml的数据写入swing树形结构

public class TreeFrame extendsJFrame {public static final int WIDTH = 1100;public static final int HEIGHT = 615;private static intxlocation ,ylocation;private boolean xmlFlag = false;private JPanel treeArea = newJPanel();private JPanel buttons = newJPanel();

DefaultMutableTreeNode top= new DefaultMutableTreeNode("行政规划");private JTree menuTree = newJTree(top);private JTextArea text = newJTextArea();

DefaultTreeModel model;

FileOutputStream fos;

OutputStreamWriter osw;publicTreeFrame(){this.setTitle("省份名称");this.setSize(WIDTH, HEIGHT);

Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();

xlocation= (screenSize.width-WIDTH)/2;

ylocation= (screenSize.height-HEIGHT)/2;this.setLocation(xlocation, ylocation);//设置关闭窗口

this.addWindowListener(newWindowListener() {

@Overridepublic voidwindowOpened(WindowEvent e) {//TODO Auto-generated method stub

}

@Overridepublic voidwindowIconified(WindowEvent e) {//TODO Auto-generated method stub

}

@Overridepublic voidwindowDeiconified(WindowEvent e) {//TODO Auto-generated method stub

}

@Overridepublic voidwindowDeactivated(WindowEvent e) {//TODO Auto-generated method stub

}

@Overridepublic voidwindowClosing(WindowEvent e) {try{

fos=new FileOutputStream("xml/data.xml");

osw=new OutputStreamWriter(fos,"utf-8");

osw.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+"\r\n");

model=(DefaultTreeModel)menuTree.getModel();

DefaultMutableTreeNode root=(DefaultMutableTreeNode)model.getRoot();//头结点行政规划不用保存

saveToFile(root.getNextNode(), osw);

osw.close();

fos.close();

}catch(IOException error) {

error.printStackTrace();

}

System.exit(0);

}

@Overridepublic voidwindowClosed(WindowEvent e) {//TODO Auto-g

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
树形结构数据导出 Excel 可以使用 Java 的 POI 库来实现。POI 是一组用于处理 Microsoft Office 文档的 Java 库,包括 Excel、Word、PowerPoint 等文档格式。 具体实现如下: 1. 在 pom.xml 中添加以下依赖: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> ``` 2. 创建 Excel 文件并写入数据。这里以树形结构数据为例,假设已经从数据库中查询到了树形结构数据,可以使用递归的方式将数据写入 Excel 表格中。 ```java public void exportToExcel(List<Node> nodeList, String filePath) throws IOException { Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet(); int rowIndex = 0; for (Node node : nodeList) { rowIndex = writeNodeToExcel(sheet, node, rowIndex, 0); } FileOutputStream outputStream = new FileOutputStream(filePath); workbook.write(outputStream); workbook.close(); } private int writeNodeToExcel(Sheet sheet, Node node, int rowIndex, int level) { Row row = sheet.createRow(rowIndex++); Cell cell = row.createCell(level); cell.setCellValue(node.getName()); for (Node child : node.getChildren()) { rowIndex = writeNodeToExcel(sheet, child, rowIndex, level + 1); } return rowIndex; } ``` 以上代码中,`Node` 表示树形结构中的一个节点,包含了节点名称和子节点列表。`exportToExcel` 方法接收一个节点列表和一个文件路径作为参数,将节点列表写入 Excel 文件中。`writeNodeToExcel` 方法递归地将节点和子节点写入 Excel 表格中,其中 `level` 参数表示节点的层级。 3. 调用 `exportToExcel` 方法将数据导出 Excel 文件。 ```java List<Node> nodeList = // 从数据库中查询树形结构数据 String filePath = "/path/to/excel.xlsx"; exportToExcel(nodeList, filePath); ``` 以上就是将树形结构数据导出 Excel 的方法,代码中省略了异常处理等细节,请根据实际情况进行补充。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值