This article download from internet ,and i cannot confirm which site is the initial src
1. package first;
2.
3. import org.xml.sax.Attributes;
4. import org.xml.sax.helpers.DefaultHandler;
5. import org.xml.sax.SAXException;
6. import java.util.Properties;
7. import javax.xml.parsers.SAXParser;
8. import javax.xml.parsers.SAXParserFactory;
9.
10. public class ReadConfigXml {
11.
12. private Properties props;
13. public ReadConfigXml(String url) {
14. ParseXML myRead = new ParseXML();
15. try {
16. myRead.parse(url);
17. props = new Properties();
18. props = myRead.getProps();
19. } catch (Exception e) {
20. e.printStackTrace();
21. }
22. }
23.
24. public String getHost() {
25. return props.getProperty("host");
26. }
27. public String getDataBase() {
28. return props.getProperty("database");
29. }
30. public String getUserName() {
31. return props.getProperty("username");
32. }
33. public String getPassWord() {
34. return props.getProperty("password");
35. }
36. }
37.
38. class ConfigParser extends DefaultHandler
39. {
40. // //定义一个Properties 用来存放属性值
41. private Properties props;
42. private String currentSet;
43. private String currentName;
44. private StringBuffer currentValue = new StringBuffer();
45.
46. // 构建器初始化props
47. public ConfigParser() {
48. this.props = new Properties();
49. }
50.
51. public Properties getProps() {
52. return this.props;
53. }
54.
55. // 定义开始解析元素的方法. 这里是将<xxx>中的名称xxx提取出来.
56. public void startElement(String uri, String localName, String qName,
57. Attributes attributes) throws SAXException {
58. currentValue.delete(0, currentValue.length());
59. this.currentName = qName;
60. }
61.
62. // 这里是将<xxx></xxx>之间的值加入到currentValue
63. public void characters(char[] ch, int start, int length)
64. throws SAXException {
65. currentValue.append(ch, start, length);
66. }
67.
68. // 在遇到</xxx>结束后,将之前的名称和值一一对应保存在props中
69. public void endElement(String uri, String localName, String qName)
70. throws SAXException {
71. props.put(qName.toLowerCase(), currentValue.toString().trim());
72. }
73.
74. }
75.
76. class ParseXML {
77. // 定义一个Properties 用来存放属性值
78. private Properties props;
79.
80. public Properties getProps() {
81. return this.props;
82. }
83.
84. public void parse(String filename) throws Exception {
85. // 将我们的解析器对象化
86. ConfigParser handler = new ConfigParser();
87. // 获取SAX工厂对象
88. SAXParserFactory factory = SAXParserFactory.newInstance();
89. factory.setNamespaceAware(false);
90. factory.setValidating(false);
91. // 获取SAX解析
92. SAXParser parser = factory.newSAXParser();
93. try {
94. // 将解析器和解析对象xml联系起来,开始解析
95. parser.parse(filename, handler);
96. // 获取解析成功后的属性
97. props = handler.getProps();
98. } finally {
99. factory = null;
100. parser = null;
101. handler = null;
102. }
103. }
104. }
105. //后两个类实现了xml文档属性设置的任意读取.只要是xml的属性值,都读到了property中,你只需在property中提取就可以了.
//第一个类是针对我的xml文件写的,似乎有点多余.
106.
1. //ok,搞定了,读取的时候如下:
2. ReadConfigXml xmlread = new ReadConfigXml("reportenv.xml");
3. String username = xmlread.getUserName();
4. String password = xmlread.getPassWord();
5.
6. /*配置文件reportenv.xml如下,比较简单:
7.
8. <?xml version="1.0" encoding="utf-8"?>
9. <reportenv>
10. <datasource>
11. <username>sqlname</username>
12. <password>password</password>
13. </datasource>
14. </reportenv>
15. */
16.
分享到:
相关推荐
使用 Java 读取 XML 配置文件 Java 语言和 XML 技术可以说是黄金组合,网上已经有很多文章介绍 XML 在电子商务中的数据交换的作用。但是在平时系统开发中,我们不一定都用到数据交换,是否无法使用 XML?当然不是...
JAVA 高手解析 XML 配置文件的读取操作 本文主要讲解了 Java 中如何读取 XML 配置文件,并对 XML 解析器进行了分类,分别介绍了 DOM 和 SAX 两种解析方式的特点和使用场景,并提供了一个使用 SAX 解析器读取 XML ...
Java中XML配置文件的读取(SAX) XML配置文件是Java开发中常用的配置文件格式,特别是在J2EE项目中。XML文件可以存储配置信息,并且易于维护和修改。然而,在Java中读取XML配置文件成了一个需要解决的问题。本文将...
1. **XML配置文件**: XML是一种结构化数据存储格式,常用于复杂的应用程序配置。在Java中,我们可以使用DOM(Document Object Model)、SAX(Simple API for XML)或StAX(Streaming API for XML)等解析器来读取...
JAVA项目数据库连接XML配置文件 在 Java 项目中,数据库连接的配置是一个非常重要的步骤,为了方便用户配置数据库,使用 XML 配置文件可以灵活地修改数据连接。本文将详细介绍如何使用 XML 配置文件来连接数据库。 ...
Java 读取 XML 文件是 Java 开发中常见的一项任务,XML(eXtensible Markup Language)作为一种可扩展标记语言,广泛用于数据交换、配置存储等领域。本教程将深入讲解如何在 Java 中处理 XML 文件,同时涉及 XML 的 ...
本篇文章将深入探讨如何在Java中读取XML配置文件,以及如何实现一个简易版的Spring框架。 首先,我们需要导入Java的DOM(Document Object Model)库,它提供了处理XML文档的标准API。在Java中,我们通常使用`javax....
在Java编程中,读取配置文件是常见的任务,特别是在开发需要灵活配置的系统时。配置文件通常用于存储应用程序的设置,如数据库连接信息、服务器端口、第三方服务的API密钥等,这些信息可能需要根据不同的环境或需求...
这通常通过在构建工具(如Maven或Gradle)的配置文件中添加依赖来实现。对于导入工程,你可以使用IDE(如IntelliJ IDEA或Eclipse)的相应功能将外部库添加到项目的类路径中。 总的来说,Java提供了一套完整的工具来...
总结起来,Java读取本地XML文件涉及的主要步骤包括创建`DocumentBuilderFactory`,构建`DocumentBuilder`,解析XML文件为`Document`对象,然后通过`Document`对象访问和操作XML结构。对于复杂需求,XPath可以提供更...
### Java读写XML文件操作详解 在现代软件开发中,XML(可扩展标记语言)是一种广泛使用的数据交换格式,尤其在处理配置文件、数据存储以及跨平台数据交换时显得尤为重要。Java提供了多种读写XML文件的方法,包括SAX...
二、Java读取XML文件 1. 使用DOM解析: 读取XML文件时,首先会将整个XML文档加载到内存中的DOM树,然后通过API遍历和访问各个节点。 示例代码: ```java import javax.xml.parsers.DocumentBuilder; import javax....
5. **解析XML配置**:在应用程序中,你需要使用Java的DOM或SAX解析器来读取和解析XML配置文件。获取到连接信息后,可以使用`java.sql.DriverManager`类的`getConnection()`方法建立数据库连接。 6. **建立数据库...
Java解析XML配置文件是开发过程中常见的一项任务,特别是在基于Java的框架中,如Spring,大量使用XML文件来存储配置信息。DOM4J是Java中一个非常流行且功能强大的XML处理库,它提供了丰富的API用于读取、写入、修改...
在Java编程中,读取XML文件并将其转换为树形结构是一种常见的操作,尤其是在处理配置文件、数据交换或解析XML文档时。以下是一篇详细解释如何实现这一过程的文章。 首先,我们需要了解XML(eXtensible Markup ...
在Java编程中,处理XML文件是常见的需求,包括读取XML文件的内容以及将数据写入XML文件。下面将详细介绍Java中如何进行XML文件的读取和写入操作。 一、读取XML文件 1. DOM解析:Document Object Model(DOM)是一...
### JAVA读取数据库的XML配置文件 #### 前言 在软件开发中,数据库配置信息的管理至关重要。随着技术的发展,出现了许多优秀的框架来帮助开发者处理这些任务,例如Hibernate等ORM(对象关系映射)工具,它们简化了...