活动介绍
file-type

Java实现简单XML节点读取并返回字符串数组方法

RAR文件

4星 · 超过85%的资源 | 下载需积分: 29 | 1KB | 更新于2025-07-23 | 197 浏览量 | 47 下载量 举报 收藏
download 立即下载
在Java中,从XML文档中获取数据是一项常见的任务。处理XML文档,可以使用Java的内置库,如DOM、SAX或JDOM,也可以使用更高级的库,如Apache的Xerces、Xalan或者是商业产品如XStream、JAXB等。这些库提供了解析XML文档并将其内容转换为Java对象的方法。下面将介绍如何使用Java简单地读取XML文件,并根据路径取得特定节点,最后返回节点内容的String数组。 首先,介绍一下XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。XML文档由元素构成,元素可以包含属性、文本和其他元素,这些元素之间具有父子关系。在Java中处理XML,常用的API包括: 1. DOM(文档对象模型):解析整个XML文档到内存中,并构建一个节点树。DOM解析器将整个文档一次性加载进内存,适合对XML文档进行频繁的读写操作。 2. SAX(简单APIXML):通过事件驱动的方式逐个读取XML文档内容,每次读取一个节点(如元素),并将事件通知给应用程序。SAX解析器适合处理大型文件,因为它不需要将整个文档加载到内存中。 3. JDOM和DOM4J:是第三方库,基于DOM,提供了更加方便的接口。JDOM专为Java设计,而DOM4J则是一个更加全面的库,它提供了比DOM更多的功能。 在进行读取操作之前,需要对XML文件的结构有一个基本的了解。例如,假设我们有如下XML文件(假设文件名为`example.xml`): ```xml <books> <book> <title>Java Programming</title> <author>John Doe</author> <year>2020</year> </book> <book> <title>Learning XML</title> <author>Jane Smith</author> <year>2019</year> </book> </books> ``` 在上述XML文档中,我们想要取得所有书籍的标题,并将这些标题作为String数组返回。 在Java中实现这一功能,首先需要准备一个用于解析XML的Java类,根据描述我们命名这个类为`Test2.java`,文件中应包含以下知识点: 1. 使用JAXP(Java API for XML Processing)中的DocumentBuilderFactory和DocumentBuilder来解析XML文档。 2. 通过指定的路径获取XML节点。 3. 创建一个String数组用于存储节点内容。 4. 遍历节点,并将节点内容添加到数组中。 具体步骤可能如下: ```java import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import java.io.File; public class Test2 { public static void main(String[] args) { // XML文档路径 String xmlPath = "example.xml"; try { // 创建DocumentBuilderFactory DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); // 创建DocumentBuilder DocumentBuilder builder = factory.newDocumentBuilder(); // 解析XML文件,得到Document对象 Document document = builder.parse(new File(xmlPath)); // 获取XML文档的根节点 Element root = document.getDocumentElement(); // 获取所有book节点 NodeList bookNodes = root.getElementsByTagName("book"); // 创建String数组,用于存储所有book节点的title内容 String[] titles = new String[bookNodes.getLength()]; // 遍历book节点,获取每个book节点下的title节点,并将内容添加到数组中 for (int i = 0; i < bookNodes.getLength(); i++) { Element book = (Element) bookNodes.item(i); Element titleElement = (Element) book.getElementsByTagName("title").item(0); titles[i] = titleElement.getTextContent(); } // 输出String数组内容 for (String title : titles) { System.out.println(title); } } catch (Exception e) { e.printStackTrace(); } } } ``` 在上述代码中,我们使用了`DocumentBuilderFactory`和`DocumentBuilder`来解析XML文件,并获取了根节点`<books>`下的所有`<book>`节点。随后,我们通过遍历每个`<book>`节点,进而获取每个节点下的`<title>`元素,并将这些标题存储在String数组中。最后,我们遍历这个数组,输出了每个标题的内容。 这个过程展示了如何简单地从XML文件中读取数据,并将特定节点的内容以String数组的形式返回。上述代码涵盖了标题和描述中提到的知识点,并以Java语言为例,通过代码展示了具体实现方式。

相关推荐

filetype
MyBatis 目录(?)[-] mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis实战教程mybatis in action之三实现数据的增删改查 mybatis实战教程mybatis in action之四实现关联数据的查询 mybatis实战教程mybatis in action之五与spring3集成附源码 mybatis实战教程mybatis in action之六与Spring MVC 的集成 mybatis实战教程mybatis in action之七实现mybatis分页源码下载 mybatis实战教程mybatis in action之八mybatis 动态sql语句 mybatis实战教程mybatis in action之九mybatis 代码生成工具的使用 mybatis SqlSessionDaoSupport的使用附代码下载 转自:http://www.yihaomen.com/article/java/302.htm (读者注:其实这个应该叫做很基础的入门一下下,如果你看过Hibernate了那这个就非常的简单) (再加一条,其实大家可以看官方的教程更好些:http://mybatis.github.io/mybatis-3/,而且如果英文不是很好的那就看中文的:http://mybatis.github.io/mybatis-3/zh/sqlmap-xml.html) 写在这个系列前面的话: 以前曾经用过ibatis,这是mybatis的前身,当时在做项目时,感觉很不错,比hibernate灵活。性能也比hibernate好。而且也比较轻量级,因为当时在项目中,没来的及做很很多笔记。后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM 工具感兴趣。因为接下来自己的项目中很有可能采用这个ORM工具。所以在此重新温习了一下 mybatis, 因此就有了这个系列的 mybatis 教程. 什么是mybatis MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点: 1. 从配置文件(通常是XML配置文件中)得到 sessionfactory. 2. 由sessionfactory 产生 session 3. 在session 中完成对数据的增删改查和事务提交等. 4. 在用完之后关闭session 。 5. 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。 mybatis实战教程(mybatis in action)之一:开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包。这些软件工具均可以到各自的官方网站上下载。 首先建立一个名字为 MyBaits 的 dynamic web project 1. 现阶段,你可以直接建立java 工程,但一般都是开发web项目,这个系列教程最后也是web的,所以一开始就建立web工程。 2. 将 mybatis-3.2.0-SNAPSHOT.jar,mysql-connector-java-5.1.22-bin.jar 拷贝到 web工程的lib目录. 3. 创建mysql 测试数据库和用户表,注意,这里采用的是 utf-8 编码 创建用户表,并插入一条测试数据 程序代码 程序代码 Create TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(50) DEFAULT NULL, `userAge` int(11) DEFAULT NULL, `userAddress` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; Insert INTO `user` VALUES ('1', 'summer', '100', 'shanghai,pudong'