首页 | 互联网 | IT动态 | Cisco | Windows | Linux | Java | .Net | Oracle | 华为 | 存储世界 | 服务器 | 网络设备 | IDC | 安全 | 求职招聘
IT培训 | 数字网校 | 技术专题 | 电子书下载 | 教学视频 | 网页设计 | 平面设计 | 解决方案 | 直播室 | 虚拟考场 | 搜索 | 博客 | 沙龙 | 论坛
中国IT实验室Linux频道
中国IT教育
 
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME Java&XML 开源技术 其他技术 RSS订阅 论坛 专题
您现在的位置: 中国IT实验室 >> Java >> XML >> WebServices >> 文章正文

如何使用JDOM对XML文件进行操作

文章来源中国IT实验室收集整理 作者rainman2… 更新时间2006-11-23 保存本文保存本文 推荐给好友推荐给好友 收藏本页收藏本页

    本文着重介绍在应用程序中如何使用JDOM对XML文件进行操作,要求读者具有基本的JAVA语言基础。
XML由于其可移植性,已经成为应用开发中必不可少的环节。我们经常会把应用程序的一些配置文件(属性文件)写成XML的格式(当然,也可以用property文件而不用XML文件),应用程序通过XML的访问类来对其进行操作。对XML进行操作可以通过若干种方法,如:SAX, DOM, JDOM, JAXP等,JDOM由于其比较简单实用而被开发人员普遍使用。
本文主要分两部分,第一部分介绍如何把XML文件中的配置读入应用程序中,第二部分介绍如何使用JDOM将配置输出到XML文件中。
以下是一段XML配置文件,文件名为contents.xml:
<?xml version="1.0"?>
<book>
    <title>Java and XML</title>
    <contents>
        <chapter title="Introduction">
            <topic>XML Matters</topic>
            <topic>What's Important</topic>
            <topic>The Essentials</topic>
            <topic>What&apos;s Next?</topic>
        </chapter>
        <chapter title="Nuts and Bolts">
            <topic>The Basics</topic>
            <topic>Constraints</topic>
            <topic>Transformations</topic>
            <topic>And More...</topic>
            <topic>What&apos;s Next?</topic>
        </chapter>
    </contents>
</book>
下面的程序通过使用JDOM中SAXBuilder类对contents.xml进行访问操作,把各个元素显示在输出console上,程序名为:SAXBuilderTest.java,内容如下:
------------------------------------------------------------------
import java.io.File;
import java.util.Iterator;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;

public class SAXBuilderTest {

    private static String titlename;

    private String chapter;

    private String topic;

    public static void main(String[] args) {
        try {
            SAXBuilder builder = new SAXBuilder();
            Document document = builder.build(new File("contents.xml"));
            Element root = document.getRootElement();

            Element title = root.getChild("title");
            titlename = title.getText();
            System.out.println("BookTitle: " + titlename);

            Element contents = root.getChild("contents");
            List chapters = contents.getChildren("chapter");

            Iterator it = chapters.iterator();
            while (it.hasNext()) {
                Element chapter = (Element) it.next();
                String chaptertitle = chapter.getAttributeValue("title");
                System.out.println("ChapterTitle: " + chaptertitle);

                List topics = chapter.getChildren("topic");
                Iterator iterator = topics.iterator();
                while (iterator.hasNext()) {
                    Element topic = (Element) iterator.next();
                    String topicname = topic.getText();
                    System.out.println("TopicName: " + topicname);
                }
            }
        } catch (Exception ex) {
        }
    }
}

[1] [2] 下一页  

【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·超前体验 Oracle 11g的5个新特性
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题
 ·展现C#世界 C#程序设计专题
 ·Java入门 Tomcat的配置技巧精华专题
 ·Oracle RMAN物理备份技术详解
 ·JAVA开发利器——JBuilder知多少
 ·Hello,web2.0技术进阶专题
 ·从入门到精通 java初学者实践系列教程
 ·JAVA 与 .NET两强对垒 到底该选什么?
 今日更新
 社区讨论
 博客论点
 频道精选
 Java 频道导航