`
云水禅心
  • 浏览: 26070 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java解析(完整)

    博客分类:
  • java
阅读更多
题计:这里给出java解析xml,以帮助人们理解许多容器是怎么做的。。像spring,struts等.
1.mysql.xml代码:
<?xml version="1.0" encoding="UTF-8"?>

<data>
<datasource>
<servername>localhost</servername>
<serverport>3306</serverport>
<databasename>juddi</databasename>
<username>root</username>
<password>123456</password>
</datasource>
</data>

2.XML配置文件解析器,主要目的,是为做前期工作 
package com.xml;

/*
* XML配置文件解析器,主要目的,是为做前期工作
*/
import org.xml.sax.helpers.DefaultHandler;
import java.util.Properties;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;


public class ConfigParser extends DefaultHandler {
    //定义一个properties用来存放属性
private Properties props;

private String currentName;

private StringBuffer currentValue=new StringBuffer();

public ConfigParser(){
this.props=new Properties();
}

public Properties getProps(){
return this.props;
}

//这里是将xml中元素值加入currentValue
public void characters(char[] ch, int start, int length) throws SAXException {

currentValue.append(ch, start, length);
}

//在遇到</xx>时,将之间的字符存放在props中间
public void endElement(String uri, String localName, String name) throws SAXException {
props.put(currentName.toLowerCase(), currentValue.toString().trim());
}

//定义开始解析元素的方法,这里将<xx>中的名称xx提出来,
public void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException {
currentValue.delete(0, currentValue.length());
currentName=qName;
}
}

3.XML配置文件计取处理

package com.xml;

/*
* XML配置文件计取处理
*/
import java.util.Properties;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

public class ParseXML {

//定义一个Proerties用来存放属性值
private Properties props;

public Properties getProps(){
return this.props;
}

public void parse(String filename)throws Exception{

//将我们的解析器对象化
ConfigParser handler=new ConfigParser();

//获取SAX工厂对象
SAXParserFactory factory=SAXParserFactory.newInstance();
factory.setNamespaceAware(false);
factory.setValidating(false);

//获取SAX解析
SAXParser parser=factory.newSAXParser();

try{

//将解析器和解析对象xml联系起来,开始解析
parser.parse(filename, handler);

//获取解析成功后的属性
props=handler.getProps();
}finally{
factory=null;
parser=null;
handler=null;
}
}

}

4.读取XML配置文件
package com.xml;

/*
* 读取XML配置文件
*/
import java.util.Properties;

public class ReadConfigXml {

private Properties props;

public ReadConfigXml(String url) {
ParseXML myRead = new ParseXML();

try{
myRead.parse(url);
props=new Properties();
props=myRead.getProps();
}catch(Exception e){
e.printStackTrace();
}
}

public String getServerName(){
return props.getProperty("servername");
}

public String getServerPort(){
return props.getProperty("serverport");
}

public String getDatabaseName(){
return props.getProperty("databasename");
}

public String getUserName(){
return props.getProperty("username");
}

public String getPassword(){
return props.getProperty("password");
}
}

5.数据库连接加测试数据库连接加测试数据库连接加测试
package com.xml;

/*
*
* 数据库连接加测试数据库连接加测试数据库连接加测试
*/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBConnection {

private Connection con;

private DBConnection(){
}

public static DBConnection newInstance(){
return new DBConnection();
}

public Connection getConnection(){
ReadConfigXml r=new ReadConfigXml("src/com/yizhi/xml/mysql.xml");
String url="jdbc:mysql://"+r.getServerName()+":"+r.getServerPort()+"/"+r.getDatabaseName();
String username=r.getUserName();
String password=r.getPassword();

try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection(url,username,password);
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
}
return con;
}

//测试连接
public static void main(String args[]){
Connection con=DBConnection.newInstance().getConnection();
System.out.println("测试成功!");
}
}
分享到:
评论

相关推荐

    java解析PDF文件

    java解析PDF格式的文件demo。JAVA实现PDF解析,对PDF文件中的文本内容可输出仅供参考学习,不喜勿喷。

    java xml解析工具类 java xml解析工具类

    java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析...

    java解析cobol数据

    以下是对“java解析cobol数据”这一主题的详细讨论。 首先,理解COBOL数据结构是关键。COBOL程序通常使用固定格式的数据文件,这些文件包含结构化的记录,其中每个字段都有明确的位置和长度。为了在Java中解析这些...

    JAVA解析DBC文件

    总结来说,用JAVA解析DBC文件涉及的关键技术包括文件I/O操作、字符串处理、数据类型转换以及对象建模。在处理过程中需关注数据的大小端问题,以确保解析的正确性。同时,解析后的数据可以用于多种汽车相关的软件开发...

    java 解析 json文件 java 解析 json文件

    Java解析JSON文件是Java开发中常见的一项任务,特别是在与Web服务交互或处理API响应时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和易于阅读及编写的特点,被广泛应用于网络数据传输...

    java解析json完整案例

    Java解析JSON是一个常见的任务,特别是在开发Web服务或者与API交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,我们可以使用多种库...

    java解析DWG文件为json使用superMap

    【标题】:“java解析DWG文件为json使用superMap” 【描述】:“java使用superMap解析DWG文件为json输出,本地通过,附件中为word操方式按照步骤可以导入数据集” 【标签】:“java解析DWG文件json java读取dwg...

    java 解析 chm 文件

    Java解析CHM文件是将Microsoft的 Compiled HTML Help (CHM) 文件转换成HTML网页的过程。CHM文件是一种常见的帮助文档格式,它包含了多个HTML页面、图像和其他资源,并使用了一种特殊的压缩方法存储。在Java中处理CHM...

    java解析图片验证码

    java解析图片验证码

    java解析nc格点预报

    Java解析NC格点预报涉及到的是气象学中的数值预报(Numerical Weather Prediction, NWP)领域,结合了计算机科学与大气科学。NC文件是NetCDF(Network Common Data Form)的缩写,是一种用于存储多维科学数据的标准...

    java 解析xml 多级

    Java作为一种广泛使用的后端编程语言,提供了多种方式来解析XML文档,使得处理多级嵌套的数据变得可能。本文将详细讲解如何在Java中解析XML,特别是针对多级结构的情况。 首先,Java提供了两种主要的API来处理XML:...

    用java解析DXF文件中的实体信息

    在本主题中,我们关注的是如何利用Java解析DXF(Drawing Exchange Format)文件,这是一种由AutoCAD软件生成的二进制或ASCII格式的文件,用于存储二维图形数据。DXF文件通常包含各种几何实体,如圆(circle)、椭圆...

    java解析dbf文件方案.pdf

    Java 解析 DBF 文件方案 Java 解析 DBF 文件方案是使用 Java 语言来读取和解析 DBF 文件的方法。DBF 文件是一种常见的数据库文件格式,广泛应用于许多行业。为了读取和解析 DBF 文件,需要使用 Java 语言中的数据库...

    java 公式解析源码

    Java公式解析源码是用于处理数学、统计或业务逻辑中的表达式解析的代码库。它允许用户自定义公式,使得程序能够动态计算基于特定输入的数据。在Java开发中,这样的库通常用于财务软件、数据分析应用或者任何需要进行...

    Java解析SO(ELF)文件

    Java解析时,可以创建一个数据结构来存储节区信息,并根据节区头部表的指针逐一解析。 为了实现上述功能,Java程序员通常会创建自定义的类来表示ELF文件的各种结构,如`ElfHeader`、`ProgramHeader`和`Section...

    纯用JAVA解析Google的KMZ和KML空间数据的示例代码

    这是直接使用JAVA来解析Google的KMZ和KML类型文件的主要示例代码和POM.xml,pom.xml中的一些依赖项可以忽略不计。在实际解析过程中用不到,网上大多数资源都是解析的KML,但是对于KMZ文件的在线解析模式,并没有明确...

    java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xml

    java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava...

    java实现解析APK

    本篇将详细介绍如何使用Java和AAPT(Android Asset Packaging Tool)来解析APK,尤其适用于处理加密或加壳的APK。 首先,APK实际上是一个ZIP格式的压缩包,包含了AndroidManifest.xml、资源文件、dex字节码等。传统...

    java对mht文件解析

    #### 三、Java解析MHT文件的关键步骤 ##### 3.1 获取MHT文件内容 在Java中,首先需要读取MHT文件的全部内容到字符串中。这可以通过`InputStream`和`IOUtils`工具类来实现。 ```java String mhts = IOUtils....

    Java解析ArcGIS切片包(更新版)

    "Java解析ArcGIS切片包(更新版)"这个标题意味着我们将讨论一个使用Java编程语言编写的更新过的解决方案,旨在解析ArcGIS的切片包(Tile Package,通常以TPK结尾)。切片包是ArcGIS的一种数据存储格式,它包含了预...

Global site tag (gtag.js) - Google Analytics