dom4j解析xml和写入xml文件
2015-01-04 20:47
423 查看
dom4j是一个很好对XML文件进行读取和写入等的成熟技术,是java的xml api技术。也是在搭建框架中,成熟应用在xml解析,以及反射机制中常用。
那么他是如何读取的呢。
首先,dom4j解析xml如下解读:
public static void readXml(String path) {
//根据xml路径,创建文件
File inputXml=new File(path);
//要用一个读取器SAXReader来读取
SAXReader saxReader = new SAXReader();
try {
//接着创建文档对象
Document document = saxReader.read(inputXml);
// 获取根节点
Element employees=document.getRootElement();
//然后循环根节点下的节点,这里只是针对父节点下子节点,下面还有子节点的2层循环,如何还有更多的子节点,则要根据实际情况,再次获取节点
for(Iterator i = employees.elementIterator(); i.hasNext();){
Element employee = (Element) i.next();
for(Iterator j = employee.elementIterator(); j.hasNext();){
Element node=(Element) j.next();
System.out.println(node.getName()+":"+node.getText());
}
}
} catch (DocumentException e) {
System.out.println(e.getMessage());
}
}
dom4j写入xml:
public static void writer(String writerPath){
//首先创建文档根节点
Document document = DocumentHelper.createDocument();
//然后根据根节点country,为他添加子节点province
Element root = document.addElement("country");
Element e1 = root.addElement("province", "福建");
//再为e1添加子节点city
Element e2 = e1.addElement("city", "厦门");
try {
Writer writer = new FileWriter(writerPath);
//创建输出格式 ,如何没有创建输出格式,那么生成的xml文件就不会格式化,换行之类的
OutputFormat format = OutputFormat.createPrettyPrint();
//制定输出xml的编码类型
format.setEncoding("utf-8");
XMLWriter writer2 = new XMLWriter(writer, format);
writer2.write(document);
writer2.close();
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
那么他是如何读取的呢。
首先,dom4j解析xml如下解读:
public static void readXml(String path) {
//根据xml路径,创建文件
File inputXml=new File(path);
//要用一个读取器SAXReader来读取
SAXReader saxReader = new SAXReader();
try {
//接着创建文档对象
Document document = saxReader.read(inputXml);
// 获取根节点
Element employees=document.getRootElement();
//然后循环根节点下的节点,这里只是针对父节点下子节点,下面还有子节点的2层循环,如何还有更多的子节点,则要根据实际情况,再次获取节点
for(Iterator i = employees.elementIterator(); i.hasNext();){
Element employee = (Element) i.next();
for(Iterator j = employee.elementIterator(); j.hasNext();){
Element node=(Element) j.next();
System.out.println(node.getName()+":"+node.getText());
}
}
} catch (DocumentException e) {
System.out.println(e.getMessage());
}
}
dom4j写入xml:
public static void writer(String writerPath){
//首先创建文档根节点
Document document = DocumentHelper.createDocument();
//然后根据根节点country,为他添加子节点province
Element root = document.addElement("country");
Element e1 = root.addElement("province", "福建");
//再为e1添加子节点city
Element e2 = e1.addElement("city", "厦门");
try {
Writer writer = new FileWriter(writerPath);
//创建输出格式 ,如何没有创建输出格式,那么生成的xml文件就不会格式化,换行之类的
OutputFormat format = OutputFormat.createPrettyPrint();
//制定输出xml的编码类型
format.setEncoding("utf-8");
XMLWriter writer2 = new XMLWriter(writer, format);
writer2.write(document);
writer2.close();
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
相关文章推荐
- DOM4J解析XML文档、Document对象、节点对象节点对象属性、将文档写入XML文件
- DOM4J解析XML文档、Document对象、节点对象节点对象属性、将文档写入XML文件
- dom4j创建xml文件,解析xml,写入xml文件,遍历xml文件
- dom4j解析XML文件(3)—XML文件写入
- Dom4j解析xml文件-操作节点和属性及写入其他xml文件
- Dom4j解析xml文件-操作节点和属性及写入其他xml文件
- 7.数据本地化CCString,CCArray,CCDictionary,tinyxml2,写入UserDefault.xml文件,操作xml,解析xml
- 安卓使用DOM,SAX,PULL解析xml,安卓写入xml文件
- XML_使用dom4j对xml文件进行解析_.flv
- 将JavaBean用DOM4J转换成xml文件,用DOM4J解析xml文件
- Dom4J解析XML和创建XML文件
- XML的解析结束了,后面开始XML文件的写入。
- dom4j方式写入与解析XML
- JavaSE_XML解析__DOM4j_XML写入
- Java之xml文件解析四(DOM4J方式解析xml文件)
- 在已知XML文件内容时,使用dom4j简单解析XML(String类型的XML)(用于服务器端)
- XML文件的写入和读取(解析)基于DOM4J工具
- android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件
- Android向本地写入一个XML文件和解析XML文件
- 909422229_DOM4J读取XML文件与解析StringXML