`

java读取XML

    博客分类:
  • XML
阅读更多

SAX版
	package com.mobi.bean;    
	   
	import org.xml.sax.helpers.DefaultHandler;    
	import javax.xml.parsers.*;    
	import org.xml.sax.*;    
	import org.xml.sax.helpers.*;    
	import java.util.*;    
	import java.io.*;    
	   
	public class SAXReader extends DefaultHandler    
	{    
	    java.util.Stack tags = new java.util.Stack();    
	   
	    // --------------XML Content-------------    
	    String text = null;    
	   
	    String url = null;    
	   
	    String author = null;    
	   
	    String description = null;    
	   
	    String day = null;    
	   
	    String year = null;    
	   
	    String month = null;    
	   
	    // ----------------------------------------------    
	   
	    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(p1);    
	    }    
	   
	    public void endElement(String p0, String p1, String p2) throws SAXException    
	    {    
	        tags.pop();    
	        if (p1.equals("link")) printout();    
	    }    
	   
	    public void characters(char[] p0, int p1, int p2) throws SAXException    
	    {    
	        String tag = (String) tags.peek();    
	        if (tag.equals("text"))    
	            text = new String(p0, p1, p2);    
	        else   
	            if (tag.equals("url"))    
	                url = new String(p0, p1, p2);    
	            else   
	                if (tag.equals("author"))    
	                    author = new String(p0, p1, p2);    
	                else   
	                    if (tag.equals("day"))    
	                        day = new String(p0, p1, p2);    
	                    else   
	                        if (tag.equals("month"))    
	                            month = new String(p0, p1, p2);    
	                        else   
	                            if (tag.equals("year"))    
	                                year = new String(p0, p1, p2);    
	                            else   
	                                if (tag.equals("description"))    
	                                    year = new String(p0, p1, p2);    
	    }    
	   
	    private void printout()    
	    {    
	        System.out.print("Content: ");    
	        System.out.println(text);    
	        System.out.print("URL: ");    
	        System.out.println(url);    
	        System.out.print("Author: ");    
	        System.out.println(author);    
	        System.out.print("Date: ");    
	        System.out.println(day + "-" + month + "-" + year);    
	        System.out.print("Description: ");    
	        System.out.println(description);    
	        System.out.println();    
	    }    
	   
	    static public void main(String[] args)    
	    {    
	        String filename = null;    
	        boolean validation = false;    
	        filename = "links.xml";    
	        SAXParserFactory spf = SAXParserFactory.newInstance();    
	        SAXParser saxParser = null;    
	   
	        try   
	        {    
	            saxParser = spf.newSAXParser();    
	        }    
	        catch (Exception ex)    
	        {    
	            System.err.println(ex);    
	            System.exit(1);    
	        }    
	        try   
	        {    
	            saxParser.parse(new File(filename), new SAXReader());    
	        }    
	        catch (SAXException se)    
	        {    
	            System.err.println(se.getMessage());    
	            System.exit(1);    
	        }    
	        catch (IOException ioe)    
	        {    
	            System.err.println(ioe);    
	            System.exit(1);    
	        }    
	    }    
	   
	}   




Factory版

	package com.mobi.bean;   
	  
	import javax.xml.parsers.*;   
	import org.w3c.dom.*;   
	  
	public class xmldisplay   
	{   
	    public static void main(String args[])   
	    {   
	        try  
	        {   
	            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();   
	            DocumentBuilder builder = factory.newDocumentBuilder();   
	            Document doc = builder.parse("links.xml");   
	            doc.normalize();   
	            NodeList links = doc.getElementsByTagName("link");   
	            for (int i = 0; i < links.getLength(); i++)   
	            {   
	                Element link = (Element) links.item(i);   
	                System.out.print("Content: ");   
	                System.out.println(link.getElementsByTagName("text").item(0).getFirstChild().getNodeValue());   
	                System.out.print("URL: ");   
	                System.out.println(link.getElementsByTagName("url").item(0).getFirstChild().getNodeValue());   
	                System.out.print("Author: ");   
	                System.out.println(link.getElementsByTagName("author").item(0).getFirstChild().getNodeValue());   
	                System.out.print("Date: ");   
	                Element linkdate = (Element) link.getElementsByTagName("date").item(0);   
	                String day = linkdate.getElementsByTagName("day").item(0).getFirstChild().getNodeValue();   
	                String month = linkdate.getElementsByTagName("month").item(0).getFirstChild().getNodeValue();   
	                String year = linkdate.getElementsByTagName("year").item(0).getFirstChild().getNodeValue();   
	                System.out.println(day + "-" + month + "-" + year);   
	                System.out.print("Description: ");   
	                System.out.println(link.getElementsByTagName("description").item(0).getFirstChild().getNodeValue());   
	                System.out.println();   
	            }   
	        }   
	        catch (Exception e)   
	        {   
	            e.printStackTrace();   
	        }   
	  
	    }   
	}  



分享到:
评论

相关推荐

    Java读写xml,word,xml文件(防乱码)

    ### Java读写XML、Word与TXT文件:去除乱码问题详解 #### 一、引言 在实际开发过程中,我们经常需要处理各种类型的文件,包括XML、Word文档以及普通的文本文件(如TXT)。这些文件在读写过程中经常会遇到乱码问题,...

    java读写xml文件

    ### Java读写XML文件知识点详解 #### 一、概述 在Java编程中,对XML文件进行读取与写入是一项非常常见的任务。XML(可扩展标记语言)是一种用于标记数据的语言,非常适合用来存储和传输数据。Java提供了多种API来...

    java读取xml文件

    Java 读取 XML 文件是 Java 开发中常见的一项任务,XML(eXtensible Markup Language)作为一种可扩展标记语言,广泛用于数据交换、配置存储等领域。本教程将深入讲解如何在 Java 中处理 XML 文件,同时涉及 XML 的 ...

    用java读取xml文件的四种方法

    要读取XML文件,Java提供了多种方法。以下是四种常用的方法,每种都有其适用场景和特点: 1. **DOM解析器(Document Object Model)** DOM解析器将整个XML文件加载到内存中,创建一个树形结构,允许我们通过节点...

    使用Java读取XML配置文件

    使用 Java 读取 XML 配置文件 Java 语言和 XML 技术可以说是黄金组合,网上已经有很多文章介绍 XML 在电子商务中的数据交换的作用。但是在平时系统开发中,我们不一定都用到数据交换,是否无法使用 XML?当然不是...

    java读取XMl数据

    以上就是Java读取XML数据的主要方法。选择哪种方式取决于具体的需求,如处理大型XML文件时,SAX和StAX更为高效;而如果需要频繁查询和修改XML结构,DOM和DOM相关的库可能更适合。在实际开发中,可以根据项目规模、...

    java 读取xml文件生成树形图

    在Java编程中,读取XML文件并将其转换为树形结构是一种常见的操作,尤其是在处理配置文件、数据交换或解析XML文档时。以下是一篇详细解释如何实现这一过程的文章。 首先,我们需要了解XML(eXtensible Markup ...

    Java读写xml java 读写xml文件操作, 简单易懂

    ### Java读写XML文件操作详解 在现代软件开发中,XML(可扩展标记语言)是一种广泛使用的数据交换格式,尤其在处理配置文件、数据存储以及跨平台数据交换时显得尤为重要。Java提供了多种读写XML文件的方法,包括SAX...

    java读取XML文件内容的四种方法[归类].pdf

    Java 读取 XML 文件内容的四种方法 Java 语言提供了多种方法来读取 XML 文件内容,以下是四种常见的方法: 1. DOM(Document Object Model) DOM 是一种基于树的模型,它将 XML 文档表示为一个层次结构的节点或...

    java读写xml文件的方法

    ### Java读写XML文件的方法详解 #### 一、概述 在Java编程中,XML(Extensible Markup Language,可扩展标记语言)是一种广泛使用的数据交换格式。由于其良好的跨平台特性和自描述性,使得XML成为了许多应用程序...

    xml.rar_java xml_java读写xml

    三、Java读取XML 1. DOM方式读取: 使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`来创建DOM对象,然后通过`getElementsByTagName`、`getAttribute`等方法获取元素和属性。 2. SAX方式...

    java读取XML(JDOM)

    Java读取XML文件是开发过程中常见的任务,JDOM是一个用于处理XML文档的Java库,它提供了方便、高效的方式来创建和操作XML数据。本篇将详细讲解如何使用JDOM来读取XML文件,以及相关的源码解析。 首先,我们需要了解...

    java读取XML内容源代码

    在Java编程中,读取XML(eXtensible Markup Language)文件内容是一项常见的任务,尤其在处理配置数据、数据交换或者存储结构化信息时。XML因其可读性强、结构清晰的特点,被广泛应用于各种场景。本篇文章将详细介绍...

    Java读取xml文件的四种方法.doc

    Java 读取 XML 文件的四种方法 在 Java 中读取 XML 文件有多种方法,本文将介绍四种常见的方法,分别使用 DOM、DOM4J、JDOM 和 SAX 解析器。 第一种方法:使用 DOM DOM(Document Object Model)是一种树形结构,...

    java读取xml文件生成文件

    Java语言在处理XML文件时,提供了丰富的API和库,使得我们可以轻松地读取、解析、修改和生成XML文档。在给定的场景中,我们主要关注如何使用Java来读取XML文件并根据需求生成新的文件。以下是关于这个主题的详细说明...

    java写XML文件和读取XML文件

    二、Java读取XML文件 1. 使用DOM解析: 读取XML文件时,首先会将整个XML文档加载到内存中的DOM树,然后通过API遍历和访问各个节点。 示例代码: ```java import javax.xml.parsers.DocumentBuilder; import javax....

    java读取xml用到的jar包集合

    在“java读取XML用到的jar包集合”中,包含了9个关键的JAR文件,它们提供了处理XML所需的API和功能。以下是这些JAR文件可能包含的重要知识点: 1. **JAXB (Java Architecture for XML Binding)** JAXB是Java标准版...

    Java读取xml文件中oracle数据库连接

    在Java编程中,读取XML文件并从中获取Oracle数据库连接是一项常见的...以上就是关于"Java读取xml文件中oracle数据库连接"的相关知识,希望对您有所帮助。在实际项目中,可能还需要考虑异常处理、连接池管理等高级话题。

Global site tag (gtag.js) - Google Analytics