Java的XML文件操作之DOM入门篇 (3)
2.DOM实例
有了上面的介绍,相信你对DOM理解的更多了吧。下面的例子将让你对DOM更加熟悉起来。
先说说这个例子到底要做的是什么吧,我们希望在一个名为link.xml文件中保存了一些URL地址,通过一个简单的程序,我们可以通过DOM把这些URL读出并显示出来,也可以反过来向这个XML文件中写入加入的URL地址。很简单,却很实用,也足够来例示DOM的绝大部分用法了。
XML文件本身不复杂,就不给出它的DTD了。link.xml:
JSP Insider
http://www.jspinsider.com
JSP Insider
2
1
2001
A JSP information site.
The makers of Java
http://java.sun.com
Sun Microsystems
3
1
2001
Sun Microsystem's website.
The standard JSP container
http://jakarta.apache.org
Apache Group
4
1
2001
Some great software.
第一个程序我们称为xmldisplay.java,具体的程序清单可以在附件中找到。主要的功能就是读取这个XML文件中各个节点的内容,然后在格式化输出在System.out上,我们来看看这个程序:
import javax.xml.parsers.*;
import org.w3c.dom.*;
这是引入必要的类,因为在这里使用的是Sun所提供的XML解析器,因而需要引入java.xml.parsers包,其中包含了有DOM解析器和SAX解析器的具体实现。org.w3c.dom包中定义了w3c所制定的DOM接口。
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc=builder.parse("links.xml");
doc.normalize();
除了上面讲到的,还有一个小技巧,对Document对象调用normalize(),可以去掉XML文档中作为格式化内容的空白而映射在DOM树中的不必要的Text Node对象。否则你得到的DOM树可能并不如你所想象的那样。特别是在输出的时候,这个normalize()更为有用。
NodeList links =doc.getElementsByTagName("link");
刚才说过,XML文档中的空白符也会被作为对象映射在DOM树中。因而,直接调用Node方法的getChildNodes方法有时候会有些问题,有时不能够返回所期望的NodeList对象。解决的办法是使用Element的getElementByTagName(String),返回的NodeLise就是所期待的对象了。然后,可以用item()方法提取想要的元素。
for (int i=0;i
Element link=(Element) links.item(i);
System.out.print("Content: ");
System.out.println(link.getElementsByTagName("text").
相关文档:
编者按:对Java社区来说,2009年是一个多事之年:Oracle的收购带来希望但更多的是担忧;对Java7的焦急等待;对是否需要闭包的持
续争议;其他收购对开源社区的影响本文原作者James Sugrue联合Java社区的其他三位核心开发者对2009年的Java进行了盘点。
James Sugrue是JavaLobby和EclipseZone的编辑,一位Eclipse开发者,Jav ......
jdk1.4引入了Preferences API,它比对象序列化更接近于持久化,因为它可以自动存取和读取信息。Preferences类似于键值对,存取在一个节点层析结构中,不过它只能存取原始数据类型和字符串,每个字符串的长度不能超过8k。
import java.util.prefs.Preferences;
public class PreferencesDemo {
public static ......
一,网络编程中两个主要的问题
一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。
在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。
而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对 ......
Java编译环境安装
1、JDK
JDK-6-windows-i586.exe安装。
其中,JDK包含了JRE、JVM。
A、JRE
B、JVM
Java虚拟机
什么是Java虚拟机
Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java ......
平时的开发当中,通常我们需要验证Email地址的合法性,首先要在验证此地址是否符合规范,若符合规范,再发邮件以确认此地址是否存在。
源码如下:
public static boolean validateEmail(String email){
//Pattern pattern = Pattern.compile("[0-9a-zA-Z]*.[0-9a-zA-Z]*@[a-zA-Z]*.[a-zA-Z]*", Pattern.LITE ......