- 浏览: 81760 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (80)
- java (20)
- java 日志 (1)
- 网络应用 (1)
- 算法 (3)
- struts (2)
- 线程 (2)
- 数据库 (1)
- tools (1)
- lunix (8)
- Android (4)
- Nutch原理 (1)
- 字符编码 (1)
- 框架 (3)
- spring (7)
- Oracle (2)
- 数据连接池 (3)
- solr (3)
- 思想 (2)
- 架构设计 (1)
- 缓存 (2)
- hibernate (1)
- 学习 (1)
- java,jvm (1)
- 分页插件 (1)
- javascript (1)
- nginx (2)
- svn (2)
- 内存 (3)
- sqlserver (1)
- UML (1)
- JS 跨域 (1)
- mybatis (1)
- 加密 (0)
最新评论
-
q15106202446:
不知不觉 这些都有所了解了!时间过的好快..该进攻系统架构了
学习(转) -
zkq-java:
zkq-java 写道[u][/u]引用[i][/i][*][ ...
Solr 创建索引的原理 源码分析 -
zkq-java:
[u][/u]引用[i][/i][*][img][/img][ ...
Solr 创建索引的原理 源码分析
总结: Document document=new SAXReader.reader(“xml文路径/文件名xxx.xml”);//得到Document对象 Element root = document.getRootElement()//获得根节点 Iterator iterator=root.elementIterator(); //从根节点遍历子节点 Iterator iterator=Element.elementIterator(); //再从子节点在遍历其子节点 对节点访问其属性用:Attribute leaderAttr =Element. attribute(“xxx”); 对节点访问其某个属性leaderAttr的名称:leaderAttr.getName(); 对节点访问其名称:Element.getName(); 对节点访问其文本:Element. getText(); //SAXReader解析XML public List<SMS> parseXML(String content) throws Exception{ /** * <?xml version="1.0" encoding="UTF-8"?> <mo> <mescode>0</mescode> <msgs> <msg> <mob>111111111</mob> <content>生生世世</content> </msg> </msgs> </mo> */ SAXReader reader = new SAXReader(); Document document = reader.read(new StringReader(content)); if(document == null) { log.error("解析XML失败:"+content); return null; } Element e = (Element) document.selectSingleNode("/mo/mescode"); if(e == null) { log.error("解析mescode节点失败:"+content); return null; } int result = Integer.parseInt(e.getText()); switch(result){ /** * 0 成功 1 失败 2 错误 */ case 0: List<SMS> messages = new ArrayList<SMS>(); List<Node> nodes = document.selectNodes("/mo/msgs/msg"); if(nodes == null){ log.error("解析msg节点失败:"+content); return null; } for(Node node : nodes){ SMS message = new SMS(); e = (Element) node.selectSingleNode("mob"); message.setMobliePhone(e.getText()); e = (Element)node.selectSingleNode("content"); message.setContnet(URLDecoder.decode(e.getText(), encoding)); messages.add(message); } return messages; case 1: log.error("失败"); break; case 2: log.error("错误"); break; } return null; } //构造XML StringBuilder builder = new StringBuilder(); builder.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); builder.append("<mt>"); builder.append(String.format("<userid>%s</userid>", USERID)); builder.append(String.format("<pwd>%s</pwd>", PWD)); builder.append("<msgs>"); if(messages != null){ for(SMS message : messages){ builder.append("<msg>"); builder.append(String.format("<mob>%s</mob>", s%)); builder.append(String.format("<content>%s</content>", URLEncoder.encode(s%,"UTF-8"))); builder.append("</msg>"); } } builder.append("</msgs>"); builder.append("</mt>");
对节点访问其某个属性leaderAttr的值:leaderAttr.getValue()
发表评论
-
深度解析Java内存的原型及工作原理
2013-02-17 10:21 665本文主要通过分析Java内存分配的栈、堆以以及常量池详细的讲 ... -
spring fileupload
2012-12-06 10:53 844spring支持在网络应用程序处理文件上传,提供拔插的or ... -
Java文件上传组件 common-fileUpload 使用教程
2012-05-25 15:26 3463最近项目中,在发布商品的时候要用到商品图片上传功能(网站前 ... -
java面试经典(转)
2012-05-15 16:31 457http://blog.csdn.net/aweijun360 ... -
Servlet 3.0 简介
2012-05-08 15:28 1129Java servlets 是一项被普 ... -
java入门基础(一)
2012-04-05 08:19 687java 的核心思想 ... -
hibernate与ibatis的区别
2012-03-07 09:05 883hibernate 是一站式ORM orm mappin ... -
Servlet 3.0 新特性概览
2012-01-20 17:01 885转自http://blog.csdn.net/xiazdo ... -
配置文件load的几种方法(转)
2012-01-20 11:22 8291. InputStreamResource(Input ... -
Java关键字
2012-01-20 10:16 775Java关键字(keywords) abstract ... -
读源码之重拾接口与继承
2012-01-19 15:41 715Java抽象类和接口的区别(好长时间没看这种文章了) ... -
java 基础 集合
2012-01-18 11:09 854ArrayList和LinkedList, Ar ... -
HttpUrlContent 详解
2012-01-18 08:45 973下边的总结对我帮助蛮大的~不仅用法了解,整个连接流程也要明 ... -
threadlocal
2012-01-17 11:28 747概述 我们知道Spring通 ... -
mina2.0 多线程(一)
2012-01-17 11:26 2409mina 2.0 多线程 socket通信主体代码 ... -
hibernate load与get 的区别
2012-01-17 11:12 740hibernate中get方法和load方法的根本区别 如果你 ... -
web 容器
2012-01-17 11:01 752ApplicationContext是Spring的核心, ... -
java 基础
2012-01-05 15:36 789java 基础 Comparable ... -
java基础 GC整理
2012-01-05 15:33 862HotSpot是较新的Java ...
相关推荐
**SAXReader解析XML的基本步骤:** 1. 引入DOM4J库:在项目中引入DOM4J的依赖,通常通过Maven或Gradle添加对应的依赖项。 2. 创建SAXReader对象:`SAXReader reader = new SAXReader();` 3. 设置解析器属性:可以...
总之,Android开发中使用SAXReader解析XML是一种高效且节省内存的方法,尤其适用于处理大文件。通过自定义的事件处理器,我们可以灵活地解析和处理XML文档中的各种元素和属性。同时,为了提高效率,从服务器下载XML...
有两种主要方法来解析XML中的特殊字符: **方法一:使用实体引用** 实体引用是XML中最常见的处理特殊字符的方式。当你需要在XML文档中插入特殊字符时,可以使用对应的实体引用。比如,如果你想在文本中包含一个...
#### 一、使用SAXReader解析XML **SAXReader**是DOM4J库中的一个类,用于读取XML文档。它支持多种输入源,包括文件、URL和字符流等,并且可以通过不同的配置来控制解析过程中的行为。 ##### 示例代码分析 ```java...
2. 使用SAXReader解析XML文件,并处理事件。这里我们创建一个ContentHandler的子类,重写其方法来处理解析过程中的事件: ```java import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; import org....
下面我们将详细探讨如何使用SaxReader解析XML文件: 1. 引入Dom4j库:在Java项目中,可以通过Maven或Gradle等构建工具引入Dom4j依赖。例如,在Maven的pom.xml文件中添加: ```xml <groupId>dom4j <artifactId>...
详细解析SAXReader解析器的作用与用法中的使用的xml文件
3. **解析XML文档**:有了SAXParser和ContentHandler后,我们可以通过调用SAXParser的`parse()`方法来解析XML文档。`parse()`方法接受两个参数:输入源(InputStream或File)和ContentHandler。 ```java File xml...
`xmlToMap`方法首先使用SAXReader解析XML字符串,然后递归地遍历XML文档的元素,将它们转换为Map结构。 `mapToXml`方法则将Map转换成XML字符串: ```java import org.dom4j.Document; import org.dom4j....
### DOM4J解析XML时DTD路径问题 在处理XML文件时,经常需要用到DOM4J这样的库来进行解析。当XML文件包含DTD(Document Type Definition)声明时,DOM4J默认会尝试从指定的URL加载DTD文件来进行验证。这通常是为了...
// 读取并解析XML文档 // SAXReader就是一个管道,用一个流的方式,把xml文件读出来 // // SAXReader reader = new SAXReader(); //User.hbm.xml表示你要解析的xml文档 // Document document = reader.read...
Java解析XML文件是Java开发中常见的一项任务,XML(eXtensible Markup Language)作为一种结构化数据存储格式,被广泛用于数据交换、配置文件和Web服务等场景。本篇文章将详细探讨Java如何利用DOM4J库来解析XML文件...
以下是一个使用SAXReader解析XML的示例: ```java import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.io.SAXReader; public class XMLParseTest { public static void main...
Java 解析 XML 并导入数据库(DOM4J) Java 解析 XML 并导入数据库是指使用 Java 语言将 XML 文件解析并将其内容导入到数据库中。下面是使用 DOM4J 库来实现此功能的相关知识点: 一、XML 文件解析 XML...
本文将深入探讨Java平台下解析XML的四种主流方法:DOM、SAX、DOM4J和JDOM。 1. **DOM(Document Object Model)解析XML** DOM是一种树形结构,它将整个XML文档加载到内存中,形成一个完整的对象模型。这种解析方式...
为了在Java中解析XML文档,开发者通常需要引入特定的库或框架。在这个场景中,提到的两个关键库是`dom4j`和`jdom`,它们都是Java解析XML的重要工具。 **dom4j** dom4j是一个非常灵活且功能丰富的Java XML API,它...
**DOM4J解析XML** DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效且功能丰富的API,使得XML的读取、创建、修改和查询变得简单易行。DOM4J的主要特点包括对XPath的支持、事件驱动的解析、以及与...
使用DOM方法读取XML文件,需要创建DocumentBuilderFactory对象,获取DocumentBuilder对象,然后解析XML文件得到Document对象。最后,使用Document对象的getElementsByTagName方法获取指定标签的节点列表,并遍历节点...