- 浏览: 512801 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
chimpp55:
java.lang.NoSuchMethodError: or ...
基于Junit2.0的StrutsTestCase应用 -
opmic:
<property name="srcDir& ...
使用Eclipse与Ant进行java程序开发 -
univasity:
非常好,谢谢分享。
使用Eclipse与Ant进行java程序开发 -
peanut_sei:
exception handlers 译成 例外处理 倒是第 ...
JavaScript高级应用:例外处理
在java对XML进行处理时,读取XML文档,对其处理,这是我得一个实例代码。
import java.io.FileInputStream;
import javax.xml.parsers.*;
import org.w3c.dom.*;
/*
* Created on 2004-6-2
*java读取XML文档
*利用DoM来读取一个XML文档的内容,并将其打印出来
*/
public class TestXML {
public static void main(String[] args) {
Document doc;
DocumentBuilderFactory factory;
DocumentBuilder docBuilder;
Element root;
String elementName;
FileInputStream in;
String fileName;
try{
//get the xml file
fileName = System.getProperty("user.dir");
fileName = fileName+"/sample.xml";
in = new FileInputStream(fileName);
//解析XML文件,生成document对象
factory = DocumentBuilderFactory.newInstance();
factory.setValidating(false);
docBuilder = factory.newDocumentBuilder();
doc = docBuilder.parse(in);
//解析成功
System.out.println("parse successfull");
//获取XML文档的根节点
root = doc.getDocumentElement();
elementName = root.getNodeName();
//打印根节点的属性
printAttributes(root);
//打印该文档全部节点
System.out.println("打印全部节点");
printElement(root,0);
}
catch(Exception exp){
exp.printStackTrace();
}
}
//打印某个节点的全部属性
public static void printAttributes(Element elem){
NamedNodeMap attributes;
int i,max;
String name,value;
Node curNode;
attributes = elem.getAttributes();
max = attributes.getLength();
for(i=0;i<max;i++){
curNode = attributes.item(i);
name = curNode.getNodeName();
value = curNode.getNodeValue();
System.out.println("\t"+name+" = "+value);
}
}
//打印所有的节点的名称和值
//改方法采用递归方式打印文档的全部节点
public static void printElement(Element elem,int depth){
String elementName;
NodeList children;
int i,max;
Node curChild;
Element curElement;
String nodeName,nodeValue;
//elementName = elem.getNodeName();
//获取输入节点的全部子节点
children = elem.getChildNodes();
//按一定格式打印输入节点
for(int j=0;j<depth;j++){
System.out.print(" ");
}
printAttributes(elem);
//采用递归方式打印全部子节点
max = children.getLength();
for(i=0;i<max;i++){
curChild = children.item(i);
//递归退出条件
if(curChild instanceof Element){
curElement = (Element)curChild;
printElement(curElement,depth+1);
}
else{
nodeName = curChild.getNodeName();
nodeValue = curChild.getNodeValue();
for(int j=0;j<depth;j++)System.out.print(" ");
System.out.println(nodeName+" = "+nodeValue);
}
}
}
}
=============================================
DocumentBuildFactory factory =DocumentBuildFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc=builder.parse(new File("config.xml"));
Element root=document.getDocumentElement();//根节点
Node n1=DOMUTils.getChild(root,"title");
String s=(n1==null)?null:DOMUtils.getTextValue(n1);
DOMUtils为辅助类
下面为其两个关键方法:注意是核心代码,不是完整代码
public static Node getChild(Node parent,String name){ |
发表评论
-
Eclipse快捷键(引用转贴)
2004-09-23 11:47 875本文档从Eclipse软件上整理,是列出了标准的快捷键,未列出 ... -
java Excel API 简介(翻译)
2004-09-23 11:49 999java Excel API 简介(翻译) 版权声明:CSD ... -
spring-richclient开发swing应用程序
2005-09-03 18:00 1964Swing桌面应用程序的开发一直以来都是Java桌面开发者心中 ... -
spring-richclient开发swing应用程序 2
2005-09-03 18:07 12381 Main函数PetClinicStandalone里面基本 ... -
spring-richclient开发swing应用程序 3
2005-09-03 18:36 1801richclient-application-context. ... -
spring-richclient开发swing应用程序 4
2005-09-03 18:50 1281spring-rcp里面简单到极点(相对)的就算是菜单和导航条 ... -
关于Ajaxian JSF的设计原则
2005-09-09 16:05 695目前网上大大小小的Ajax Framework已经计算不清了, ... -
Velocity学习笔记1——Velocity是什么
2006-05-23 22:38 1118Velocity是一个基于Java的模版引擎。它允 ... -
Velocity学习笔记2——Velocity能够做什么
2006-05-24 11:06 999一个 ... -
JDBMonitor全攻略:10秒为任意数据库增加执行日志功能
2006-05-16 22:34 1287JDBMonitor是一个开源项目 ... -
使用JDBMonitor剖析Hibernate的实现机制
2006-05-17 18:20 1097使用JDBMonitor剖析Hibernate的实现机制现在j ... -
Log4j和JDBMonitor的比较
2006-05-17 18:21 851Log4j和JDBMonitor的比较Log4 ... -
Apache Commons Chain简明手册
2007-05-25 01:10 3280基本对象1. 接口。它是Commons Chain中最重要的接 ... -
开始使用Commons Chain (第一部分)
2007-05-25 01:12 1201作为程序开发人员,我 ... -
在JAVA中使用文档对象模型DOM经验小结
2007-07-13 23:20 828文档对象模型 (DOM) 是一个文档标准,对于完备的文档和复杂 ... -
什么时候该用synchronized
2007-07-13 23:48 1416由于同一进程的多个线 ... -
XMLC在eclipse中的使用
2007-07-13 23:50 966关于外部插件的使用可以用link的方式做,如果简单的只把插件丢 ... -
J2EE架构学习者的6个最佳实践
2007-07-14 00:06 819虽然许多文章曾经讨论 ... -
面向Java程序员的Ajax:构建动态Java程序
2007-07-14 00:11 779Ajax(即异步 JavaScript 和 ... -
用java打包成zip
2007-08-21 11:51 1430--- 大家可能对于Zip格式的文件已经司空见惯了,我们可以使 ...
相关推荐
通过合理设计XML文档结构、有效利用DOM4J进行解析以及借助适当的Word文档处理库(如Apache POI),开发者可以轻松实现这一转换过程。这不仅提高了信息的可读性和可维护性,还为用户提供了一个更加友好和直观的文档...
DOM4J是一个非常流行的Java XML API,它提供了一种灵活且强大的方式来处理XML文档。DOM4J基于Document Object Model(DOM),DOM是一种将XML文件转换为内存中的树形结构的模型,允许开发者通过节点遍历和操作XML内容...
本项目聚焦于利用Java处理XML文件,涵盖XML文件的增、删、改、查操作,并结合简单的Web应用进行实践。我们将探讨以下几个核心知识点: 1. **Java与XML的交互** - Java提供了多种API来处理XML,包括DOM(Document ...
通过学习本书,读者可以掌握Java与XML的集成技巧,理解如何利用Java API处理XML文档,以及如何构建和消费Web服务。对于Java开发者来说,XML技术是必备的技能之一,这本手册将帮助他们提升在这个领域的能力。
Java XML API是Java平台提供的一套用于处理XML文档的接口和类,它使得开发者能够方便地在Java程序中创建、解析、修改XML文档。本文将深入探讨Java XML API中的核心组件,包括SAX(Simple API for XML)、DOM...
在处理XML文件时,还应注意XML的命名空间和DTD(Document Type Definition)或Schema,它们定义了XML文档的结构和规则。例如,`javax.xml.parsers.DocumentBuilderFactory`的`setNamespaceAware(true)`方法可以开启...
JDOM,全称为Java Document Object Model,是一种专为Java设计的XML处理API,它提供了对XML文档结构的完整映射,使得我们可以方便地创建、读取和修改XML文件。下面将详细介绍如何使用JDOM来读取XML文件。 首先,...
总的来说,这个Java项目旨在教你如何利用TCP/IP协议在Eclipse环境中开发一个程序,实现在网络上发送和接收XML文件,这对于理解网络编程和XML处理有很好的实践价值。通过学习和实践,你可以增强自己在网络通信和数据...
JAXB用于对象与XML之间的映射,而DOM则用于解析整个XML文档到内存中的树形结构。对于数据库操作,我们会使用JDBC(Java Database Connectivity)接口。 1. **解析XML文件**: - DOM解析:首先,通过`javax.xml....
为了读取XML文件,开发者通常会利用Java API或第三方库。本篇将详细介绍如何在Java中读取XML文件,以及如何利用第三方库增强XML处理能力。 首先,Java标准库JDK提供了一个内置的API——javax.xml.parsers包,它包含...
这种方法非常适合于处理大型的XML文档,因为它的内存占用相对较小,但同时也意味着我们不能随机访问文档中的数据,只能在事件被触发时获取信息。 SAX的另一个优点是它的实时性,即解析器可以一边读取数据一边处理...
本文将基于提供的文件信息,深入探讨如何利用Java进行XML文件的读取与写入,重点介绍DOM(Document Object Model)方式的操作。 #### DOM解析XML文件 DOM是一种树形结构的数据模型,用于表示XML文档的结构。通过...
发送XML报文通常涉及到POST或GET请求,这里以POST请求为例,因为POST更适合发送大量数据,如XML文档。 1. **创建XML文档** 在发送XML之前,我们需要先构建XML文档。可以使用DOM(Document Object Model)或者SAX...
1. **创建XML文档对象**:在Java中,我们可以使用`DocumentBuilderFactory`和`DocumentBuilder`类来创建一个`Document`对象,这个对象代表整个XML文档。 ```java DocumentBuilderFactory factory = ...
### 使用Java语言解析XML文件的关键知识点 #### 一、引言 ...这种方法适用于小型到中型的XML文件处理任务,在实际项目中非常实用。掌握了这些基础知识后,可以根据具体需求进一步扩展和优化代码。
总的来说,Java中的XML文件处理主要依赖于JAXP,通过DOM、SAX和XSLT接口,可以灵活地读取、创建、更新和转换XML文档。开发者可以根据项目需求选择适合的处理方式,并利用可插拔层的优势,轻松切换不同实现,优化性能...
而Java作为强大的编程语言,提供了丰富的API和工具来处理XML文档。本书的第三版反映了自上一版以来Java和XML领域的重要发展和更新。 书中涵盖了以下几个核心知识点: 1. **XML基础**:介绍XML的基本语法,包括元素...
本文将深入探讨一个利用JAVA技术和XML作为数据存储的图书馆信息检索系统,揭示其核心设计思想与实现机制。 XML,全称Extensible Markup Language,是一种用于标记数据的、自描述的语言,因其结构清晰、可扩展性强,...
"JAVA与XML异步刷新"这一主题,主要探讨的是如何利用Java技术和XML来实现在Web应用中的异步更新,以提升用户体验和系统性能。 在JBUILDER这款集成开发环境中,开发者可以便捷地进行Java和XML的开发工作。JBUILDER...
JDOM是一个纯Java的XML处理库,提供了更简洁的API来创建和修改XML文档。以下是一个JDOM生成XML的例子: ```java import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.output.Format; import ...