java解析xml生成表格_JAVA读取XML文件并解析 以及 JAVA生成文本文件输出

废话不多说,直接上代码及说明吧!

package Dao;

import java.io.File;

import java.util.ArrayList;

import java.util.List;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.NodeList;

public class ReadXML {

private String fileName;

public ReadXML(String fileName)

{

this.fileName = fileName; //构造函数,直接将需要读取的fileName通过函数初始化进行传值,当然你也可以使用其他方法!

}

public List redaXml()

{

ArrayList elementRefArray = new ArrayList(); //这是一个ArrayList 容器,用于存储多出来的信息

try{

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder db = factory.newDocumentBuilder();

Document doc = db.parse(new File(this.fileName));

NodeList nodes = doc.getElementsByTagName("elementName"); //从xml文件中读出名为elementName的节点,放在nodes中,假如你的xml有很多这个节点,都会被存下来

for (int i = 0; i < nodes.getLength(); i++)

{

Element ele = (Element)nodes.item(i); //Element 是将节点变为元素具体我还有点乱,YYYY

其中name 为node 的属性,XXXX为node属性为name的值,而YYYY为node节点的值(不知小弟说法是否正确,不过和上面对应正确··)

Ok 搞好解析XML后,大多数情况下,我们需要对其值进行操作,所以上面的代码我把它放在一个ArrayList中,方便后续操作。操作好后,可能你又需要进行文件保存,所以下面的代码是文件保存的一种方法。。。

private static String path = "D:/loadReplace.js"; // 文件保存路径和名称

private static File filename = new File(path);

public creat() throws IOException

{

RandomAccessFile ss = null;

String str = "把我写进去!";

if (!filename.exists()) {

filename.createNewFile(); //创建文件

try {

ss= new RandomAccessFile(filename, "rw");

ss.writeBytes(str); //写文件

} catch (IOException e1) {

// TODO 自动生成 catch 块

e1.printStackTrace();

} finally {

if (ss!= null) {

try {

ss.close(); //关闭文件

System.out.println("创建结束");

} catch (IOException e2) {

// TODO 自动生成 catch 块

e2.printStackTrace();

}

}

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET点滴:说说Middleware构造中获取不到Scoped服务的问题

今天小桂问我&#xff1a;“为什么中间件的构造函数里不能使用scope的生命周期类型啊&#xff1f;”&#xff0c;那就用实例来得到答案吧&#xff0c;先看小桂说的情况&#xff0c;是报错的&#xff1a;var builder WebApplication.CreateBuilder(args);builder.Services.AddS…

模式识别之分类---数学贝叶斯方法

http://blog.sina.com.cn/s/blog_6163bdeb0102ehh1.html http://www.zdh1909.com/html/Verilog/29941.html

给定0~N之间的N个数字(大于等于0,小于N,不重复)进行按小到大排列(不用其它的经典排序算法)

1 问题 比如我们给定0~N之间的N个数字(大于等于0,小于N,并且不重复)进行按小到大排列,比如N是5,我们给定数据{3, 2, 1, 0, 4},我们按照从小到大的排名最后就是{0, 1, 2, 3, 4} 2 思路 我们遍历数组,下标为i,我们把i和a[i]进行对比,如果不想等我们就进行交换a[i]和a[a[i]]的值…

【C语言简单说】十一:switch 补

昨天丧心病狂的更新了十节。我都懵逼了。。。 *~ (&#xffe3;﹏&#xffe3;) ** 今天继续&#xff0c;来说一下。。。那个。。。另外一个分支switch。 直接上代码&#xff0c;学过了if的孩子就会觉得很简单的了&#xff1a; #include<stdio.h> #include<stdlib.h…

retain、strong、weak、assign区别

1. 假设你用malloc分配了一块内存&#xff0c;并且把它的地址赋值给了指针a&#xff0c;后来你希望指针b也共享这块内存&#xff0c;于是你又把a赋值给&#xff08;assign&#xff09;了b。此时a 和b指向同一块内存&#xff0c;请问当a不再需要这块内存&#xff0c;能否直接释放…

Java游戏有易筋经_当年武侠游戏中绝世秘籍易筋经!重置游戏几十次,玩家才终于找到?...

原标题&#xff1a;当年武侠游戏中绝世秘籍易筋经&#xff01;重置游戏几十次&#xff0c;玩家才终于找到&#xff1f;在金庸的笔下产生过诸多绝世武学&#xff0c;其中最常被人提及的莫过于少林绝学易筋经。这部由达摩祖师于嵩山少林寺面壁9年留下的武学经书&#xff0c;亦是武…

python路径怎么找windows_如何查看 windows 中 Python安装路径

答疑 qq&#xff1a;3081655843公号&#xff1a; 天枢子python课堂windows平台如果python已经安装好了的话&#xff0c;打开命令行窗口&#xff0c;输入python命令回车&#xff0c;能够进入到python的命令行界面。这个时候我们能够确定的就是&#xff0c;python的安装路径一定被…

微软是如何解决 PC 端程序多开问题的——内部实现

前言上次&#xff0c;我们通过《引用 Microsoft.VisualBasic 解决程序多开的问题》。虽然它非常简单&#xff0c;但是仅适用于 WinForm 应用程序&#xff0c;而且还需要引用不常用的Microsoft.VisualBasic类库。因此&#xff0c;我们决定深挖一下&#xff0c;看看具体是如何实现…

C#常用命名空间

MSDN上的C#.NET Framework类库文档目录树&#xff0c;本人觉得有点不得要领&#xff0c;于是参考搜到的结果简单整理如下&#xff1a; 一、基础命名空间 System 处理内建数据、数学计算、随机数的产生、环境变量、垃圾回收器及一些常见的异常和特征. System.Collections 包含了…

svn之回滚到指定版本

1 问题 我们用svn下载了最新的代码&#xff0c;但是我们需要回退到制定的版本 2 操作 我们先svn showlog 找到对应的版本号 如果用的是svn图形界面客户端 我们点击关联svn项目的鼠标右键&#xff0c;然后有个update to reversion 写上相应的版本即可

番茄工作法—《可以量化的管理学》

6.5.4时间t与番茄工作法 内容提要&#xff1a;番茄工作法划分工作和休息时间&#xff0c;将时间划分为小块&#xff0c;有利于提高工作和休息的效率&#xff0c;提高时间的感知和掌控。 番茄工作法是简单易行的时间管理方法&#xff0c;是由弗朗西斯科西里洛于1992年创立的一种…

【C语言简单说】十二:逻辑运算符

**总觉得今天更两节就好了。 (&#xffe3;.&#xffe3;) ** 困。。。(&#xffe3;.&#xffe3;) \ 今天我们来加深if的使用&#xff0c;我们来讲解运算符&&和||&#xff0c;一个叫做 与&& 一个叫做 或&&&#xff1b;我们先来说 && 我们…

C#遍历一个文件夹下的所有可执行文件

using System; using System.IO;namespace IO操作 {class Program{static void Main(string[] args){Console.WriteLine(File.Exists("C:\IO.txt"));Console.WriteLine(Directory.Exists("C:\"));Console.WriteLine();//获取一个路径下所有可执行文件&…

linux c之把最简单的字符串数据追加写入文件

1 问题 把最简单的字符串数据追加写入文件 2 代码实现 #include <stdio.h> #include <string.h>void write_data_to_file(const char *path, char *str) {FILE *fd fopen(path, "a");if (fd NULL) {printf("fd is NULL and open file fail\n&qu…

Android Json 解析

方法一 使用API解析 json&#xff1a; {"beaconid":"2397","state":"01","userid":"90"} 获取json的方法 private void sendRequestWithHttpClient(){new Thread(new Runnable() {Overridepublic void run() {try…

C#中static void Main(string[ ] args)中的作用及解释

C#中static void Main(string[ ] args)中的作用及解释 static 表示方法是静态的就是说方法在程序被编译的时候就被分配了内存,使用的时候不用生成某个类型的对象,知道程序退出才释放。 void 表示方法没有返回值,就是方法没有renturn 关键字。 main 是方法名,当然这个方法是…

电脑配置java编译报错_java 编译错误

我有两个简单的代码&#xff0c;ClickMe.java代码为&#xff1a;importjava.applet.Applet;importjava.awt.*;importjava.awt.event.*;publicclassClickMeextendsAppletimplementsMouseListener{privateSpo...我有两个简单的代码&#xff0c;ClickMe.java代码为&#xff1a;imp…

正则匹配字符串无匹配不到_实现简单正则表达式匹配

这是facebook的面试题实现包含以下特殊字符的正则表达匹配“.” 匹配任意一个字符“*” 匹配任意多个前面的字符例如给定正则表达“ra.”和字符串“ray”你的函数应该返回true&#xff0c;但是仍用这个正则匹配另一个字符串“raymond”应当返回false给定正则表达“.*at”和字符…

【C语言简单说】十三:逻辑运算符||

&#xff08;﹏&#xff09;~ 更完睡觉。 这一节我们来说说逻辑或||&#xff0c;其实很简单的&#xff0c;既然你们理解了第一个逻辑与&#xff0c;那么逻辑或就没什么难度了。 我们说过逻辑与就像我们的并列关系&#xff0c;例如我们吃了苹果和李子。我们现在的逻辑或呢&a…

C#中元组对象Tuple的使用

简介元组使用泛型来简化类的定义&#xff0c;多用于方法的返回值。在函数需要返回多个类型的时候&#xff0c;就不必使用out , ref等关键字了&#xff0c;直接定义一个Tuple类型&#xff0c;使用起来非常方便例子在我们编程时&#xff0c;比如一个人的信息&#xff0c;我们常常…