dom 解析xml
package com.xmlparse;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DomXmlParse {
private String getFile() {
String path = System.getProperty("user.dir");
path = path + "\\src\\book.xml";
return path;
}
private void domXmlParses() throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(getFile());
NodeList list = doc.getElementsByTagName("book");
//选择性的获取
for (int i = 0; i < list.getLength(); i++) {
Node node = list.item(i);
//获得属性值
Node attNode = node.getAttributes().getNamedItem("id");
System.out.println("attribut:"+attNode.getNodeName()+"\t"+attNode.getNodeValue());
//获得节点里面的子节点
Node n = doc.getElementsByTagName("name").item(i);
System.out.println("name:"+n.getNodeName()+"\t"+n.getFirstChild().getNodeValue());
}
}
public static void main(String[] args) throws Exception {
new DomXmlParse().domXmlParses();
}
}
sax 解析xml
package com.xmlparse;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class SaxXmlParse extends DefaultHandler {
private String getFile() {
String path = System.getProperty("user.dir");
path = path + "\\src\\book.xml";
return path;
}
// 得到元素值
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
String content = new String(ch,start,length);
System.out.println(content);
}
// 文档开始
@Override
public void startDocument() throws SAXException {
System.out.println("-------------文档开始-----------------");
}
// 元素开始
@Override
public void startElement(String uri, String localName, String name,
Attributes attributes) throws SAXException {
System.out.println("元素属性:"+attributes.getValue("id"));
System.out.print(name+"\t");
}
// 文档结束
@Override
public void endDocument() throws SAXException {
System.out.println("---------------文档结束------------");
}
// 元素结束
@Override
public void endElement(String uri, String localName, String name)
throws SAXException {
}
//main
public static void main(String[] args) throws Exception {
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setValidating(false);
factory.setNamespaceAware(false);
SaxXmlParse saxparse = new SaxXmlParse();
SAXParser parser = factory.newSAXParser();
parser.parse(saxparse.getFile(), saxparse);
}
}
xml 文件
<?xml version="1.0" encoding="gb2312"?>
<library>
<book id="1">
<name>ejb</name>
<price>10</price>
<author>张三</author>
</book>
<book id="2">
<name>jsp开发详解</name>
<price>78</price>
<author>小狗</author>
</book>
<book id="3">
<name>struts</name>
<price>100</price>
<author>小猪</author>
</book>
</library>
分享到:
相关推荐
Java解析XML文件是Java开发中常见的一项任务,XML(eXtensible Markup Language)作为一种结构化数据存储格式,被广泛用于数据交换、配置文件和Web服务等场景。本篇文章将详细探讨Java如何利用DOM4J库来解析XML文件...
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
本教程将介绍如何使用Java解析XML文件,并将解析结果导入MySQL数据库。 首先,我们需要引入处理XML的Java库——JAXB(Java Architecture for XML Binding)和DOM(Document Object Model)API。JAXB用于对象与XML...
Java解析XML文档是Java开发中常见的任务,XML(Extensible Markup Language)作为一种可扩展标记语言,广泛用于数据交换、配置存储等场景。本项目涵盖了三种主流的Java XML解析方法:SAX、DOM以及DOM4J,并提供了...
Java解析XML文件是一种常见的任务,尤其在处理结构化数据或者与服务器进行数据交换时。XML(eXtensible Markup Language)是一种标记语言,用于存储和传输数据,具有良好的可读性和可扩展性。在Java中,有多种方式来...
Java 解析 XML 文件的 DOM 和 SAX 方式 Java 解析 XML 文件的 DOM 和 SAX 方式是指在 Java 中使用 Document Object Model(DOM)和 Simple API for XML(SAX)两种方式来解析 XML 文件的技术。下面将详细介绍这两种...
### Java解析XML文件:DOM与SAX解析技术详解 #### DOM解析:JAXP与Crimson解析器 DOM(Document Object Model),即文档对象模型,是W3C为XML文档定义的一种标准接口,用于在各种编程语言中操作XML文档。DOM将XML...
Java解析XML文件是一种常见的任务,尤其在处理结构化数据或与Web服务交互时。XML(eXtensible Markup Language)是一种标记语言,用于存储和传输数据。本程序使用Java来解析XML文件,提取其中的数据并根据需要进行...
"java解析xml文档的常用方法" Java 解析 XML 文档的常用方法有四种:DOM、SAX、JDOM 和 DOM4J。下面对这四种方法进行详细的介绍: 1. 使用 DOM(JAXP Crimson 解析器) DOM(Document Object Model)是一种以层次...
### Java解析XML的四种方式详解 #### 一、DOM(Document Object Model) DOM是一种平台和语言中立的接口,它将XML文档表示为一个树结构,使得程序可以创建、读取、更新或删除树中的元素。DOM实现了W3C的标准,能够...
Java作为一种广泛使用的后端编程语言,提供了多种方式来解析XML文档,使得处理多级嵌套的数据变得可能。本文将详细讲解如何在Java中解析XML,特别是针对多级结构的情况。 首先,Java提供了两种主要的API来处理XML:...
### Java解析XML文档方式 #### 引言 随着互联网的发展,XML(可扩展标记语言)因其平台、语言和系统的无关性,在数据交换和集成中扮演着至关重要的角色。本文将深入探讨Java中解析XML的四种主要方法:DOM、SAX、...
Java解析XML文件主要依赖于Java API中的DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)等解析器。在本案例中,我们重点讨论DOM解析器,DOMO通常指的是DOM操作。DOM解析器...
本压缩包“Java解析XML.zip”包含了两个关键的第三方库:jaxen-1.1.1.jar和dom4j-1.6.1.jar,它们是Java解析XML文件的重要工具。 首先,让我们了解一下**DOM4J**。DOM4J是一个强大的Java XML API,它提供了灵活且高...
### Java解析XML字符串 在给定的代码示例中,我们看到了如何使用JDOM库来解析一个XML字符串,并对其进行操作。下面我们将详细解析这个过程: 1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这...
Java 实现 XML 解析 Word 文档代码实现 基于给定的文件信息,我们可以总结出以下知识点: 1. Java 实现 XML 解析 Word 文档 Java 可以使用多种方式来解析 Word 文档,包括使用 Apache POI 库、Java2Word 库等。...
本示例提供了三种不同的方法来解析XML文件,并结合了数据库连接,特别是使用Oracle数据库。下面将详细介绍DOM、SAX和DOM4J这三种解析器的工作原理以及如何在Java中实现它们。 1. DOM(文档对象模型)解析: DOM是一...
Java解析XML文档主要涉及到两种方式:SAX和DOM。本文主要关注基于树和节点的DOM解析方法。DOM解析器将整个XML文档加载到内存中,形成一个树状结构,允许开发者通过API遍历和操作XML文档的每一个部分。 首先,DOM...