dom4j 简单实例,通过java代码读,写xml文件

项目会用到下面两个jar包

package com.xml.writer;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.xml.sax.XMLReader;

public class XmlWriter {

public static void main(String[] args) {
// TODO 自动生成的方法存根
//xmlWriter();
xmlReader();

}

//已知标记符的名字,解析xml
private static void xmlReader() {
// TODO 自动生成的方法存根

SAXReader reader = new SAXReader();
Document doc;
try {
doc = reader.read(new File("xml.xml"));
//读取xml文件,获取Document对象
Element root=doc.getRootElement();//获取根节点
System.out.println(root.getName());
List<Element> list=root.elements();//获取该节点的子节点
for(int i=0;i<list.size();i++)
{
System.out.println(list.get(i).getName());//节点名
System.out.println(list.get(i).getText());//节点值
}
} catch (DocumentException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}

}

private static void xmlWriter() {
// TODO 自动生成的方法存根
Document doc=DocumentHelper.createDocument();
Element root=DocumentHelper.createElement("student");

doc.add(root);

root.addAttribute("id","1");

Element nameElement=root.addElement("name");
Element sexElement=root.addElement("sex");

nameElement.addText("张三");
sexElement.addText("男");

try {
XMLWriter writer=new XMLWriter(new FileOutputStream("xml.xml"),OutputFormat.createPrettyPrint());
writer.write(doc);
writer.flush();
writer.close();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}

}

时间: 2025-01-31 09:23:13

dom4j 简单实例,通过java代码读,写xml文件的相关文章

java并发读&写文件

最近在看Brian Goetz 的<<Java并发实战>>,这本书有两个版本,电子工业出版社的译本很糟糕,建议使用机械工业出版社出版出版的书籍. 在看到第三四章的时候突然想到了多线程读写文件,同时遇到一些书中没有的问题 1, 如何保证组合对象的安全性? 2, 如何判断不变性的约束条件 3, 如何不通过synchronized关键字和锁进行同步处理? 下面是一段代码, 用来从source 读取数据,通过多线程写入target文件中 思路: 1, 如何read/write文件? 2,

大话设计模式_简单工厂模式(Java代码)

简单的描述:一个父类.多个子类,实例化那个子类由一个单独的工厂类来进行 图片摘自大话设计模式: 运算类: 1 package com.longsheng.simpleFactory; 2 3 public class Calculate { 4 5 private double firstNum; 6 private double secondNum; 7 8 public double getFirstNum() { 9 return firstNum; 10 } 11 12 public v

02_Android写xml文件和读xml文件

?? 新建Android项目 编写AndroidManifest.xml,使本Android项目具有单元测试功能和写外设的权限. <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.itheima28.xmldemo" a

在类里面写代码,代替xml文件

就是这个,以前还真没有做过,这不,这次就见识过了.然后希望给自己一份记忆,给你们一份快捷而已... /** * 代码中设置一般selector * * @param context * @param idNormal * @param idSelected * @param idFocused * @param idUnable * @return */ public static StateListDrawable newSelector(Context context, Drawable i

mybatis简单sql使用java注解而不是xml配置

一直没有系统的接触mybatis,这就导致对其构建模式并没有清晰的认知,所以项目中所有的查询语句都使用在xml中配置,无论是简单sql,还是复杂sql,无一例外的没有使用java注解,这一点,现在看来,真是后悔莫及!那么请你牢记这点原则吧:mybatis简单sql使用java注解而不是xml配置! 再次使用mybatis,觉得有必要重新认识一下它.这就好比,在你上班的路上,如果偶尔抬抬头扫一扫你的周围,也许就会瞥见不一样的风景──非常有气质的美女映入眼帘,你不得不聚精会神的把眼光的焦点全部集中于

java:IO-读写大文件

import java.io.*; class Test { public static void main(String args[]){ FileInputStream fin =null; FileOutputStream fout = null; try{ fin = new FileInputStream("e://d/from.txt"); fout = new FileOutputStream("e://d/to.txt"); byte [] arr

Java中的的XML文件读写

读取xml文件: public static void getFamilyMemebers(){ DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); dbf.setIgnoringElementContentWhitespace(true); try { DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(xmlPath); //

JAVA增删改查XML文件

最近总是需要进行xml的相关操作. 不免的要进行xml的读取修改等,于是上网搜索,加上自己的小改动,整合了下xml的常用操作. 读取XML配置文件 首先我们需要通过DocumentBuilderFactory获取xml文件的工厂实例. DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); dbf.setIgnoringElementContentWhitespace(true); 创建文档对象 1 DocumentBui

Java是如何解析xml文件的(DOM)

Java解析xml文件 在Java程序中读取xml文件的过程也称为"解析xml文件": 解析的目的: 获取 节点名和节点值 获取 属性名.属性值. 四中解析方式: DOM SAX DOM4J JDOM (其中DOM.SAX是官方提供的解析方式,不需要额外的jar包,后两种则需要) 例:DOM方式解析books.xml文件 <?xml version="1.0" encoding="UTF-8" ?> <bookstore>

【C++】【TinyXml】xml文件的读写功能使用——写xml文件

TinyXml工具是常用比较简单的C++中xml读写的工具 需要加载 #include "TinyXml\tinyxml.h" 在TinyXML中,根据XML的各种元素来定义了一些类: TiXmlBase:整个TinyXML模型的基类. TiXmlAttribute:对应于XML中的元素的属性. TiXmlNode:对应于DOM结构中的节点. TiXmlComment:对应于XML中的注释 TiXmlDeclaration:对应于XML中的申明部分,即<?versiong=&qu