- 浏览: 52584 次
文章分类
最新评论
Java解析XML有多种方式,因此需要分为几个不同的系列来讲。具体安排如下:
1. DOM最基本解析XML;
2. SAX基于事件解析XML;http://gaofulai1988.iteye.com/blog/2262677
3. JDOM不错的解析XML;http://gaofulai1988.iteye.com/blog/2262680
4. DOM4J好用的解析XML;http://gaofulai1988.iteye.com/blog/2262683
5. XPATH解析XML;http://gaofulai1988.iteye.com/admin/blogs/2262787
6. XML与Bean之间的转换。http://gaofulai1988.iteye.com/admin/blogs/2262787
这一个是讲DOM解析XML,DOM的基本思想是将XML文档解析成一个树型,然后依据父子节点、弟兄节点来遍历这棵树。所以它的最大特点是在解析前,先将整个文档载入,这也是它最大的不足之处,如果这个XML文件很大,怎么办呢?
在使用DOM之前,有两种概念提前说一下,Node(节点)和Element(元素)之间的区别,有一个结论是:Element一定是Node,Node不一定是Element。如何来理解?
name既是一个节点也是一个元素,而test只是一个节点,而不是一个元素。
好了,看一个例子吧。先准备好xml文件。
DOM解析代码如下:
1. DOM最基本解析XML;
2. SAX基于事件解析XML;http://gaofulai1988.iteye.com/blog/2262677
3. JDOM不错的解析XML;http://gaofulai1988.iteye.com/blog/2262680
4. DOM4J好用的解析XML;http://gaofulai1988.iteye.com/blog/2262683
5. XPATH解析XML;http://gaofulai1988.iteye.com/admin/blogs/2262787
6. XML与Bean之间的转换。http://gaofulai1988.iteye.com/admin/blogs/2262787
这一个是讲DOM解析XML,DOM的基本思想是将XML文档解析成一个树型,然后依据父子节点、弟兄节点来遍历这棵树。所以它的最大特点是在解析前,先将整个文档载入,这也是它最大的不足之处,如果这个XML文件很大,怎么办呢?
在使用DOM之前,有两种概念提前说一下,Node(节点)和Element(元素)之间的区别,有一个结论是:Element一定是Node,Node不一定是Element。如何来理解?
<name>test</name>
name既是一个节点也是一个元素,而test只是一个节点,而不是一个元素。
好了,看一个例子吧。先准备好xml文件。
<?xml version="1.0" encoding="UTF-8"?> <Students> <student> <NO id="123">123456</NO> <NAME>abc</NAME> </student> <student> <NO id="234">456789</NO> <NAME>def</NAME> </student> </Students>
DOM解析代码如下:
public static void main(String args[]) throws ParserConfigurationException, SAXException, IOException { // xml文件的路径 File f = new File("D:" + File.separator + "test.xml"); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); // 解析成一个Document对象 Document doc = builder.parse(f); // 根据标签名获取所有的节点 NodeList nl = doc.getElementsByTagName("student"); for (int i = 0; i < nl.getLength(); i++) { // 输出标签的值 System.out.print("No:" + doc.getElementsByTagName("NO").item(i).getFirstChild() .getNodeValue()); System.out.print("\taddress:" + doc.getElementsByTagName("NAME").item(i).getFirstChild() .getNodeValue()); // Element一定是Node, Node不一定是Element Element e=(Element)doc.getElementsByTagName("NO").item(i); // 输出属性值 System.out.println("\tid="+e.getAttribute("id")); } }
发表评论
-
Java IO 读文件的各种方法总结
2016-01-01 15:00 692IO分为字节流和字符流,字符就是简单的字符串存储,从理伦上讲, ... -
动态代理的应用
2015-12-22 17:30 728代理模式作为开发人员 ... -
Java Restful
2015-12-19 14:01 433对于两个系统之间交互信息,有两种常见的方式:webservic ... -
request.getInputStream() 只能读一次的解决方法
2015-12-17 12:17 2374我们知道request.getInputStream()只能读 ... -
java Hessian 版本冲突问题解决方法
2015-12-11 19:44 857今天在实际的项目发现了一个问题就是hessian的版本不兼容的 ... -
ThreadPoolExecutor参数讲解
2015-12-10 08:14 8121. 线程池可以节省创建多个线程带来的开销问题。 2. 线程 ... -
Java RSA 加密 解密 签名 验签
2015-12-09 10:01 61391. 加密的作用 1)明文变密文(你不知道密钥是很难解密的) ... -
Java Xstream xml 与bean之间的转换
2015-12-09 08:31 741xml文件如下: <mvc> & ... -
XPATH 解析XML
2015-12-09 08:28 4301. 表达式描述 nodename 选取此节点的所有子节 ... -
Java Dom4j 解析XML
2015-12-09 08:23 361Dom4j和JDom是很相似的,用起来十分方便。 XML文件 ... -
Java JDom 解析xml
2015-12-09 08:22 408JDOM在解析XML在代码量之上比之前的方法(DOM和SAX要 ... -
Java SAX 解析xml
2015-12-08 18:13 415在上一篇中http://gaofulai1988.iteye. ... -
Java 背包算法计算从数组中找若干个数使其最接近某个数
2015-12-08 17:38 1980背包的算法的动态方式如下: f(i,w) = max{ f(i ... -
C3P0 连接分析
2015-12-01 19:05 888最近在看C3P0的原理,还是将C3P0的源码导入到Ecplis ... -
微信开发的原理
2015-11-30 10:10 1311微信在现在的生活中,扮演着举足轻重的角色,现在怎么东西都在微信 ... -
JAVA Timestamp 与Data的转化以及BigDecimal 保留两位小数
2015-11-27 14:47 16841. BigDecimal 保留两位小数 今天在项目中遇到这 ... -
java try catch finally return 继续
2015-11-27 13:45 397之前在博客中有一篇文章讨论过异常中return值的情况,有兴趣 ... -
Java JDBC executeBatch 批量操作
2015-11-27 08:05 1623对JDBC 的 CRUD操作,我相信对于每个开发人员来讲,是十 ... -
Java WeakHashMap 分析
2015-11-26 08:17 616昨天在我们的系统中看 ... -
加密与解密
2015-11-18 18:12 474我本身不是学密码出身的,但在工作中经常要使用加密与解密的东东, ...
相关推荐
java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析...
java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava...
本篇文章将详细探讨如何利用Java和XML解析来自动化创建Word文档。 首先,我们需要了解XML的结构。XML(Extensible Markup Language)是一种标记语言,它允许我们以结构化的方式存储数据。在生成Word文档时,我们...
Java XML解析包主要指的是用于处理XML(eXtensible Markup Language)文档的库,它使得在Java程序中读取、写入、修改和操作XML变得简单。本篇将详细介绍使用Java进行XML解析的关键知识点,以dom4j-1.6.1为例。 1. *...
Java 实现 XML 解析 Word 文档代码实现 基于给定的文件信息,我们可以总结出以下知识点: 1. Java 实现 XML 解析 Word 文档 Java 可以使用多种方式来解析 Word 文档,包括使用 Apache POI 库、Java2Word 库等。...
Java XML解析是Java开发中的一项重要技能,尤其是在处理结构化数据时。XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于配置文件、数据交换和文档存储等领域。本压缩包“java心电图xml解析....
XML交互时方便进行XML格式转换,包含XML格式数据转换成list对象方法,参数拼接成XML方法
Java作为一种广泛使用的后端编程语言,提供了多种方式来解析XML文档,使得处理多级嵌套的数据变得可能。本文将详细讲解如何在Java中解析XML,特别是针对多级结构的情况。 首先,Java提供了两种主要的API来处理XML:...
java解析xml的四种方法的比较,还有四种方法所用到的jar包 附带程序例子 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
本文将深入探讨几种不同的XML解析方法,并通过实际的“Java解析XML性能对比分析Demo”来展示它们的性能差异。我们将讨论DOM、SAX、JDOM、DOM4J和JAXB这五种解析器,以及它们各自的特点和适用场景。 1. DOM(文档...
Java XML解析是编程中常见的一项任务,特别是在处理配置文件、数据交换或集成不同系统时。本教程将聚焦于使用DOM4J库进行XML解析的详细步骤。DOM4J是一个非常灵活且功能强大的Java库,它提供了对XML文档的全面处理,...
XML解析工具类
用于xml解析,很好用的一个java类库
* 本类是专门解析XML文件的,主要用于为系统读取自己的配置文件时提供最方便的解析操作 * @author HX * */ public class XmlManager { /** * 得到某节点下某个属性的值 * @param element 要获取属性的...
本主题将详细讲解如何在Android环境中利用Java进行XML解析,并生成JDOM库的jar文件。 XML解析在Android中的重要性不言而喻,因为XML常被用来描述应用程序的配置、布局,甚至是网络通信的数据交换格式。Java提供了...
Java XML解析是开发中常见的任务,它涉及到将XML文档转换为程序可以操作的数据结构。XML(eXtensible Markup Language)是一种标记语言,常用于数据交换、配置存储等场景。在Java中,有多种方式来解析XML,主要包括...
Java大作业中涉及的XML解析是一项重要的编程任务,XML(eXtensible Markup Language)是一种用于标记数据的语言,因其灵活性和可扩展性被广泛应用于数据存储、配置管理和数据交换。XML文件以.xml为后缀,其结构清晰...
Java提供了多种库来解析和操作XML文档,其中JDOM(Java Document Object Model)是一个广泛使用的开源库,它提供了简单且强大的API来读取、创建和修改XML文档。 ### Java解析XML字符串 在给定的代码示例中,我们...