JAVA如何按条读XML内容

问题描述

谢谢大家,拜托了。

解决方案

解决方案二:
dom4j网上例子很多
解决方案三:
packagedom4j;importjava.io.File;importjava.util.Iterator;importorg.dom4j.Document;importorg.dom4j.Element;importorg.dom4j.Node;importorg.dom4j.io.OutputFormat;importorg.dom4j.io.SAXReader;importorg.dom4j.io.XMLWriter;publicclassDom4jParseXml{publicstaticvoidmain(String[]args)throwsException{Dom4jParseXmldom4j=newDom4jParseXml();Documentdocument=dom4j.getDocument("ACCP.xml");ElementrootElement=dom4j.getRootElement(document);//方法一:普通的层层解析//dom4j.readElement(rootElement);//方法二:递归方法//dom4j.readInstanceof(rootElement);//方法三:采用Dom4j带的Visitor模式进行解析//rootElement.accept(newMyVistor());//方法四:采用美化格式的输出dom4j.parseFormat(document);}publicvoidparseFormat(Documentdocument)throwsException{OutputFormatoutputFormat=OutputFormat.createPrettyPrint();//OutputFormatoutputFormat=OutputFormat.createCompactFormat();outputFormat.setEncoding("GB2312");XMLWriterwriter=newXMLWriter(System.out,outputFormat);writer.write(document);System.out.println("over");}//通过Dom4j的解析器进行Document的解析操作publicDocumentgetDocument(Stringfilename)throwsException{SAXReadersaxReader=newSAXReader();Documentdocument=saxReader.read(newFile(filename));returndocument;}//获取Document下的根节点publicElementgetRootElement(Documentdocument)throwsException{returndocument.getRootElement();}//方法一:层层解析publicvoidreadElement(ElementrootElement)throwsException{System.out.println(rootElement.getName());for(Iteratoriterator=rootElement.elementIterator();iterator.hasNext();){Elementelement=(Element)iterator.next();System.out.println(element.getName()+element.getText());for(Iteratoriterator2=element.elementIterator();iterator2.hasNext();){Elementelement2=(Element)iterator2.next();System.out.println(element2.getName()+element2.getText());}}}//方法二:递归方法publicvoidreadInstanceof(Elementelement)throwsException{System.out.println(element.getName());for(Iteratoriterator=element.elementIterator();iterator.hasNext();){Nodenode=(Node)iterator.next();if(nodeinstanceofElement){readInstanceof((Element)node);}System.out.println("text:::"+((Element)node).getText());}}}

解决方案四:
方法三的MyVistor方法:packagedom4j;importorg.dom4j.Attribute;importorg.dom4j.Element;importorg.dom4j.VisitorSupport;publicclassMyVistorextendsVisitorSupport{publicvoidvisit(Attributenode){System.out.println("有属性:"+node.getName()+node.getText());}publicvoidvisit(Elementnode){System.out.println("元素是:"+node.getName()+"::元素是"+node.getText());}}

解决方案五:
楼上剖析的真到位!
解决方案六:
这个要根据楼主的需求了,要是XML数据量比较小的话,可以用dom4j,运用dom4j,是将xml的树形结构读到内存中的,然后再做处理,这样一来的话,对内存的消耗比较大。如果数据量比较大的话,可以用SAX解析,SAX解析是读多多少解析多少,这样的话处理大批量的数据,相对来说比较好。至于具体的方法,楼上和google上有很多,楼主自己权衡。

时间: 2024-09-24 13:16:05

JAVA如何按条读XML内容的相关文章

请教如何将数据库中的某一条记录的内容读到一个变量中?

问题描述 请教vb.net2005如何将数据库中的某一条记录的内容读到一个变量中?希望语句能有注释,谢谢!数据库为Access2003 解决方案 解决方案二:Access位置是否相对固定?如果相对固定又没有太多安全上的要求的话不用自己写代码就成.在项目中添加你那个Access文件,然后会在工程数据库中看到你添加的内容,把东西往窗体上一拖就成了,自动会在Load中添加代码.解决方案三:谢谢楼上的朋友回复,数据库的绑定.链接等等我知道,现在需要的是读某一条记录到一个变量中的方法!应该如何写语句?解决

c#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)

xml 我用的是一种很笨的方法,但可以帮助初学者了解访问XML节点的过程. 已知有一个XML文件(bookstore.xml)如下: Corets, Eva 5.95 1.插入节点 往节点中插入一个节点:  XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load("bookstore.xml"); XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找 XmlEleme

C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)第1/2页_实用技巧

已知有一个XML文件(bookstore.xml)如下: Corets, Eva 5.95 1.插入节点 往节点中插入一个节点: 复制代码 代码如下: XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load("bookstore.xml"); XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找 XmlElement xe1=xmlDoc.CreateElement(

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&quo

JSTL 访问SQL和XML内容

js|xml|访问     Web应用程序的标志是多个子系统的集成.SQL和XML是在这类子系统之间交换数据的两种最通用的机制.在本文中,Mark Kolb介绍访问JSP页面数据库和XML内容的sql和xml库并对JSTL进行了总结. Web应用程序的模板式(stereotypical)架构分为三层:处理请求的Web服务器.实施业务逻辑的应用程序服务器以及管理永久性数据的数据库.应用程序和数据库层之间的联接通常采用关系数据库中的SQL调用格式.当业务逻辑被写入到Java语言中时,JDBC用于实现

JAVA对象序列化保存为XML文件的工具类

java对象|xml   今天看了看java.beans包,发现了两个好东西,XMLEncoder和XMLDecoder.发现自己以前把从XML存取对象真是太费力气啦.做了小工具类,以后可以用用了. package com.imct.util; import java.beans.XMLDecoder;import java.beans.XMLEncoder;import java.io.File;import java.io.FileInputStream;import java.io.Fil

Jdom读xml解析实例子

Jdom读xml解析实例子       package com.yanek.demo.xml.test; import java.io.File;import java.io.IOException;import java.util.Iterator;import java.util.List; import org.jdom.Document;import org.jdom.Element;import org.jdom.JDOMException;import org.jdom.input.

DOM基础及php读取xml内容操作的方法_php技巧

本文实例讲述了DOM基础及php读取xml内容操作的方法.分享给大家供大家参考.具体分析如下: DOM(Document Object Model):文档对象模型.核心思想是:把 xml文件看作是一个对象模型,然后通过对象的方式来操作 xml 文件. php对xml文档进行增删改查(curd)操作,具体分析如下: xml文档:class.xml 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <c

java中使用sax解析xml的解决方法_java

在java中,原生解析xml文档的方式有两种,分别是:Dom解析和Sax解析 Dom解析功能强大,可增删改查,操作时会将xml文档以文档对象的方式读取到内存中,因此适用于小文档 Sax解析是从头到尾逐行逐个元素读取内容,修改较为不便,但适用于只读的大文档 本文主要讲解Sax解析,其余放在后面 Sax采用事件驱动的方式解析文档.简单点说,如同在电影院看电影一样,从头到尾看一遍就完了,不能回退(Dom可来来回回读取) 在看电影的过程中,每遇到一个情节,一段泪水,一次擦肩,你都会调动大脑和神经去接收或