xml读取和生成

大数据导出xml格式
思路:
先创建一个空白的xml文件 再用分页查询批次性导入xml 没问题的
对了 在每批导入后 将对象回收
你先写分批查询+导入嘛   注意在每个批次导入后清空对象内存就可以了

import java.io.File;
import java.io.FileWriter;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Attribute;
import org.dom4j.Document;
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;

/**
*新建一个myXML文件在目录下:内容如下
*<hibernate-mapping>
* <class name="com.aptech.User" table="t_user">
*  <property name="username"></property>
*  <property name="password"></property>
* </class>
*</hibernate-mapping>
*
*/

public class Dom4j {

public static void main(String[] args)throws Exception {
  System.out.println("=========readerXML=========");
  readerXML();
  System.out.println("\n\n\n=========readerXMLNodes=========");
  readXMLNodes();
  System.err.println("\n\n===========readerXMLChild==========");
  readerXMLChild();
  System.err.println("\n\n============= making end ......====================");
  makeXML();
 }

/**
  * 得到子节点3种办法1.如下 2.迭代器(iterate)
  * @throws Exception
  */
 public  static void readerXML() throws Exception{
  //实例化SAXReader DOM4J核心对象
  SAXReader reader=new SAXReader();
  //得到document解析文件
  Document document=reader.read(new File("myxml.xml"));
  //得到文件节点名称
  Element element=document.getRootElement();
  //输出文件节点名称
  System.out.println(element.getName()); 
 }
 
 public static void readXMLNodes() throws Exception{
  SAXReader reader =new SAXReader();
  Document document = reader.read(new File("myxml.xml"));
  Element element=document.getRootElement();
  
  for (Iterator i= element.elementIterator();i.hasNext();) {
   Element nextElement=(Element)i.next();
   System.out.println(nextElement.getName());
   
   for (Iterator j = nextElement.attributeIterator();j.hasNext();) {
    Attribute attribute=(Attribute)j.next();
    System.out.println((attribute.getName()+"----"+attribute.getValue()));
   }
  }
 }
 
 /**
  * 从指定的节点读取属性及值
  * @throws Exception
  */
 public static void readerXMLChild() throws Exception{
  SAXReader reader =new SAXReader();
  Document document=reader.read(new File("myxml.xml"));
  List<Node> list = document.selectNodes("//hibernate-mapping/class/property");//找到指定节点
  for (Node n:list) {
   System.out.print(n.getName()+"===>");
   System.out.println(n.valueOf("@name"));
  }
 
 }

 /**
  * 制作XML文件
  * @throws Exception
  */
 public static void makeXML()throws Exception{
  //得到document对象
  Document document =DocumentHelper.createDocument();
  //添加根节点
  Element root=document.addElement("hibernate-mapping");
  //添加节点class,属性名为name与table 分别赋值
  Element classElement=root.addElement("class")
  .addAttribute("name","com.aptech.User").
  addAttribute("table","t_user");//addText 节点里的文本
  //添加property子节点,添加属性name 值为"username"
  classElement.addElement("property").addAttribute("name","username");
  //格式化输出文件
  OutputFormat format=OutputFormat.createPrettyPrint();
  //声明写出文件
  XMLWriter writer=new XMLWriter(new FileWriter("User2.xml"),format);
  //写出文件
  writer.write(document);
  //关闭文件流
  writer.close();
  
 }
 
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇