- 浏览: 707327 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (260)
- web 开发 (44)
- struts (14)
- java (39)
- 我的感受 (2)
- ajax (2)
- spring (22)
- Hibernate (4)
- struts2 (1)
- java 面试题 (1)
- 英语 学习类 (2)
- jdk1.6特性 (1)
- extjs (13)
- oracle (3)
- JQuery (3)
- ┠ 『Spring 3.0』 ┨ (1)
- 『LOG4J』 (2)
- 『常用数据』 (1)
- JavaMail (0)
- 〓『 EJB3.0 』〓 (0)
- HTML5 (5)
- Canvas (0)
- spring2.5 (0)
- HPH 5 (1)
- C# .net (0)
- UML (1)
- REST (2)
- JS_validate (1)
- 项目管理文章 (1)
- 闲聊闲记 (12)
- SQL-SQL (3)
- javascript (18)
- js (4)
- linux (8)
- 电子政务 (1)
- 项目对象模型 (1)
- 系统集成项目管理 (1)
- shell (2)
- mysql (1)
- solr (5)
- cxf;services (2)
- 11 (0)
- 缓存 (1)
- cached (3)
- 单片机通信 (1)
- cached;oscache (1)
- android (15)
- android;蓝牙 (1)
- Lucene (5)
- TTS (1)
- 网络爬虫 (1)
- HtmlCleaner (1)
- iPhone (2)
- 有感而发 (1)
- Python (0)
- jetty (1)
- Redis (1)
- hadoop (1)
- socket (1)
- 色彩顾问 (1)
- javaapns (1)
- bat (1)
- object-c (4)
- ios (4)
- C-学习 (1)
- 搜索 (1)
- c# (1)
最新评论
-
annie211:
Angularjs构建一个CRUD应用可能用到的全部内容包括:数据绑定、基本模板标识符、表单验证、路由、深度链接、组件重用、依赖注入 -
潇寒听竹:
你好,请问您上传的那个APK为什么每次只能识别一次,不能连续识 ...
pocketsphinxAdroid离线语音识别---入门 -
ichenwenjin:
Angularjs构建一个CRUD应用可能用到的全部内容包括:数据绑定、基本模板标识符、表单验证、路由、深度链接、组件重用、依赖注入 -
NN_iaoiao:
问一下 你的这个People 类 是自定义的还是android ...
android 获取电话本中的联系人列表 -
wangzhe_real:
对于刚接触的我是一个很详细的教程,太感谢了
JAX-RS cxf web服务 rest简单增删改查 集成spring webService
1> Dom
XML(Extensible Markup Language 可扩展标记语言)
<1>DOM:Document Object Model(文档对象模型)
DOM的特性:定义一组 Java 接口,基于对象,与语言和平台无关
将 XML 文档表示为树,在内存中解析和存储 XML 文档,允许随机访问文档的不同部
分
使用 DOM 解析 XML 文档:
获得一个新 DocumentBuilderFactory 实例
使用 DocumentBuilderFactory 构建 DocumentBuilder
使用 DocumentBuilder的 parse( ) 方法解析文件
将已解析的文档存储在 Document 对象中
使用 getElementsByTagName( ) 方法获得元素
DOM的缺点:须将整个文档存储在内存中
代码如下:try {
//获取文件路径
//String filePath = request.getSession().getServletContext().getRealPath("/WEB-INF/xmldata/staticdata.xml");
//构造File对象
File f = new File("staticdata.xml");
//获取文档解析器工厂对象
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
//通过解析器工厂生成文档解析器对象
DocumentBuilder builder = factory.newDocumentBuilder();
//解析文件并返回Document对象
Document doc = builder.parse(f);
//获取XML文件中所有的"attr"节点列表
NodeList nl = doc.getElementsByTagName("attr");
Node attrcode = nl.item(0).getAttributes().getNamedItem("code");
Node attrname = nl.item(0).getAttributes().getNamedItem("name");
System.out.println(attrcode.getNodeValue()+","+attrname.getNodeValue());
System.out.println();
NodeList items = doc.getElementsByTagName("item");
for(int i=0;i<items.getLength();i++){
System.out.print("code:");
String code = items.item(i).getAttributes().getNamedItem("code").getNodeValue();
String name = items.item(i).getAttributes().getNamedItem("name").getNodeValue();
System.out.print(code);
System.out.println(",name:"+name);
}
} catch (Exception e) {
e.printStackTrace();
}
2> Sax(由于实际项目中很少使用,只作了解)
使用 SAX 解析 XML 文档的步骤:
创建 SAXParserFactory 的实例
创建 SAXParser 的实例
创建 SAXParserHandler 类
使用 parse() 方法解析 XML 文档
SAX 的缺点:
不能对文档进行随机访问
只读
只遍历文档一次
实例代码如下:
Stack tags=new Stack();
String name;
String address;
String tel;
String fax;
String email;
public void endDocument() throws SAXException {
System.out.println("------Parse End--------");
}
public void startDocument() throws SAXException {
System.out.println("------Parse Begin--------");
}
public void startElement(String p0, String p1, String p2, Attributes p3) throws SAXException {
tags.push(p2);
}
public void endElement(String p0, String p1, String p2) throws SAXException {
tags.pop();
if (p2.equals("PERSON")) printout();
}
public void characters(char[] p0, int p1, int p2) throws SAXException {
String tag=(String) tags.peek();
if (tag.equals("NAME")) name=new String(p0,p1,p2);
else if (tag.equals("ADDRESS")) address=new String(p0,p1,p2);
else if (tag.equals("TEL")) tel=new String(p0,p1,p2);
else if (tag.equals("FAX")) fax=new String(p0,p1,p2);
else if (tag.equals("EMAIL")) email=new String(p0,p1,p2);
}
private void printout(){
System.out.print("Name: ");
System.out.println(name);
System.out.print("Address: ");
System.out.println(address);
System.out.print("Tel: ");
System.out.println(tel);
System.out.print("Fax: ");
System.out.println(fax);
System.out.print("Email: ");
System.out.println(email);
System.out.println();
}
static public void main(String[] args) {
String filename = "candidate.xml";
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser saxParser=null;
try {
saxParser = spf.newSAXParser();
} catch (Exception e) {
System.out.println(e);
System.exit(1);
}
try {
saxParser.parse(new File(filename),new SaxTest());
} catch (SAXException se) {
System.out.println(se.getMessage());
System.exit(1);
font-size: 10pt; colo
发表评论
-
struts2标签的五大类
2010-07-22 18:12 1176在struts1.x 中提供了4个标签 ... -
sturts 模块化,,struts-config.xml文件的组合实现
2009-05-20 13:07 1231在前也说了。模块化在这里补冲一下。 struts-confi ... -
在struts-config.xml中配置数据源
2009-05-20 00:01 1768和题目的题意一样。struts-config.xml中配置 那 ... -
struts 实现模块化
2009-05-19 20:20 1038说到模块你可能会问为 ... -
struts 中exception的友好处理:
2009-05-16 15:21 1470说得异常的处理,你就会想到用catch 来捕捉异常了。 下面 ... -
用于struts中的一个LazyValidatorForm
2009-05-16 14:09 3457这个类是一个懒form为什么说是懒懒form呢?它不用像Act ... -
WEN-INF 的文件是一个安目录
2009-05-08 22:43 1106WEN-INF 的文件是一个安目录,不能直接访问。只能通过pa ... -
struts文件上传
2009-05-08 22:36 1008在这里用到了java 的一个开源jar 包:叫做upload ... -
配置数据连接池:
2009-05-08 22:34 1039没有JNDI 的做法 存在的问题 1数据库服务器名称MyDB ... -
动态Action的实现:
2009-05-08 22:32 1256在下面用的是只用一个Action 来处理多个Form 的业务处 ... -
动态form 的实现
2009-05-08 22:31 1377比如在jsp页面上有如下的form提交内容: <bod ... -
Struts 的友好报错的实现
2009-05-08 22:29 1394这个例子是的功能是:当你在文本框中输入后。点击确定。如果文本框 ... -
关于在资源文件中输入中文的方法:
2009-05-08 22:27 883在java虚拟机的安装目录下的bin目录下有一个[--D:\P ...
相关推荐
在处理XML文档时,有多种解析方式,包括DOM、SAX、JDOM和DOM4J。每种解析方式都有其特性和适用场景,下面将详细探讨这四种解析方法。 1. DOM(Document Object Model) DOM解析器将整个XML文档加载到内存中,形成一...
本文将深入探讨DOM、SAX、JDom和dom4j四种流行的Java XML解析器,以及它们在处理XML文档时的特点和用法。 1. DOM(Document Object Model) DOM是W3C推荐的一种解析XML的标准方法。它将XML文档表示为一个树形结构,...
为了处理XML文档,Java提供了多种API,其中最常用的包括DOM、SAX、DOM4J和JDOM。以下是对这些方法的详细介绍: 1. DOM(Document Object Model) DOM是一种树形结构的API,它将整个XML文档加载到内存中,形成一个...
常见的 XML 解析器有 DOM、SAX、JDOM 和 DOM4J 等。每种解析器都有其特点和优缺,选择合适的解析器对应用程序的性能和开发效率有很大影响。 1. DOM 解析器 DOM(Document Object Model)是 W3C 官方标准,用于表示...
java中四种操作(dom、sax、jdom、dom4j)xml方式详解与
在Java中,有多种方式来解析和操作XML文档,包括DOM(Document Object Model)、SAX(Simple API for XML)、JDOM和DOM4J。每种方法都有其特点和适用场景,相应的,它们也需要引入特定的库文件。以下是对这些方法...
本篇文章将探讨四种处理XML的Java库:DOM、JDOM、SAX和DOM4J,分析它们的原理、性能特点以及适用场景。 首先,我们来了解DOM(Document Object Model)。DOM是W3C组织定义的一种API,它将XML文档解析为一个树形结构...
为了能够有效地解析和操作这些XML文件,Java提供了多种不同的方法和技术,其中最常用的就是DOM、SAX、JDOM、DOM4j以及XPath。下面将详细介绍这些技术。 ##### DOM (Document Object Model) DOM是一种标准的API,它...
本文将详细介绍生成和解析XML的四种主要方法:DOM、DOM4J、SAX和JDOM。 1. DOM(Document Object Model) DOM是W3C组织推荐的一种解析XML的标准方式。它将XML文档视为一个树形结构,每个节点代表XML文档的一部分。...
【XML详解】 XML,全称为eXtensible Markup Language,是一种可扩展的标记语言,用于描述数据和结构,而非展示方式...理解并掌握XML的基础知识,以及与其相关的API如JDOM和DOM4J,对于进行XML处理和开发具有重要意义。
在Java中,有几种不同的API可以用来处理XML文档,包括DOM、SAX、JDOM和DOM4J。下面将详细介绍这四种方式。 **DOM(Document Object Model)** DOM是一种树形结构的API,它将整个XML文档加载到内存中,形成一个可...
处理XML文档有多种方式,其中最常见的是SAX(Simple API for XML)、DOM(Document Object Model)、JDOM和DOM4J。下面我们将详细探讨这四种方法。 1. DOM(Document Object Model) DOM是W3C制定的一个标准,它...
在Java中,有多种XML解析器供开发者选择,包括SAX(Simple API for XML)、DOM(Document Object Model)、JDOM和DOM4J。这四种解析方式各有特点,适用于不同的场景。下面我们将详细探讨它们的原理、优缺点以及应用...
本文将详细介绍四种主流的Java XML处理库:DOM4J、DOM、JDOM和SAX,并通过简单的代码示例帮助初学者入门。 1. DOM (Document Object Model) DOM是W3C制定的一种标准,它将XML文档视为一个树形结构,允许开发者通过...
Java 读取XML文件时,有多种解析器可供选择,分别是SAX、DOM、JDOM和DOM4J。这些解析器各有优缺点,适用于不同的场景。 SAX(Simple API for XML)是一种基于事件驱动的解析器。它在解析XML文件时,会按顺序触发一...
本文将详细介绍四种在Java中解析XML文件的方法:SAX、DOM、JDOM以及DOM4J。 1. SAX(Simple API for XML) SAX是一种基于事件驱动的解析器,它在读取XML文档时会触发一系列事件,如开始元素、结束元素、字符数据等...
为了处理XML文档,Java提供了多种解析方法,包括SAX(Simple API for XML)、JDOM(Java Document Object Model)、DOM(Document Object Model)以及stAX(Streaming API for XML)。下面将详细介绍这四种解析XML的...
在Java中,解析XML文件是常见的任务,通常有四种主要的方法:DOM (Document Object Model),JDOM,DOM4J以及SAX (Simple API for XML)。以下是对这四种XML解析方式的详细介绍: 1. DOM解析: DOM是一种树形结构的...
在Java开发中,处理XML文档时常常会遇到几种不同的解析技术,主要包括DOM、JDOM和DOM4J。这些技术各有特点,适用于不同的场景。 DOM,全称为Document Object Model,是W3C制定的一个标准,它提供了一种与平台和语言...