xml读取和生成
发布时间:2020-12-16 04:58:34 所属栏目:百科 来源:网络整理
导读:大数据导出xml格式 思路:先创建一个空白的xml文件 再用分页查询批次性导入xml 没问题的对了 在每批导入后 将对象回收你先写分批查询+导入嘛 注意在每个批次导入后清空对象内存就可以了 import java.io.File;import java.io.FileWriter;import java.util.Ite
大数据导出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("nnn=========readerXMLNodes========="); readXMLNodes(); System.err.println("nn===========readerXMLChild=========="); readerXMLChild(); System.err.println("nn============= 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(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 2018/1/5 学习记录 Ajax提交数据自动转化为对象
- c# – 为传递给Partial View的模型设置默认值
- ruby-on-rails – 使用Twitter Bootstrap和Cocoon的Tab链接
- 正则表达式语法详解
- c# – System.Net.Http.WebRequestHandler源代码在哪里?
- react报错 TypeError: Cannot read property 'setState
- Oracle-ASM安装教程
- c# – MvcBuildViews与剃刀发生器
- c# – ASP.NET中的NetworkCredential错误
- 【IOS和Android】Cocos2d-x 集成微信分享功能