- 浏览: 140975 次
- 来自: ...
-
文章分类
最新评论
-
pch272215690:
考来考去的文章有意思吗
Java EE Servlet监听器 -
livemumu:
没有判断高位溢出。。。你把测试数据num改为50看看
java截取包含汉字字符串 -
lct456:
感谢,我总算运行成功了
Java读取XML文件之SAX篇 -
lct456:
感谢,我总算运行成功了
Java读取XML文件之SAX篇
XMLTodayReportPar.java
/*
* Created on 2005-12-27
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.ldtec.todayReport.util;
import java.util.Iterator;
import java.util.List;
import java.io.*;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import com.ldtec.todayReport.data.*;
/**
* @author JOE
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class XMLTodayReportPar {
private static final String TODAYREPORTS = "TodayReports";
private static final String TODAYREPORT = "TodayReport";
private static final String ID = "id";
private static final String NAME = "name";
private static final String REPORT = "Report";
private static final String TABLENAME = "tableName";
private static final String DESCRIPTION = "description";
private static final String HEAD = "Head";
private static final String BODY = "Body";
private static final String STATISTICAL = "Statistical";
private static final String FORWARD = "Forward";
private static final String URL = "url";
private static XMLTodayReports xmltodayReports = null;
/**
* 返回所有的表
* @return XMLTodayReports
*/
String realpath = "";
public XMLTodayReports getXMLTodayReports(String realpath) {
this.realpath = realpath;
if (xmltodayReports != null) return xmltodayReports;
else {
xmltodayReports = new XMLTodayReports();
try {
SAXBuilder builder = new SAXBuilder();//注册解析器
Element root = null;
String path = realpath + "WEB-INF\\i2conf\\todayReport\\todayReport.xml" ;
//String path = "D:\\Development\\TOMCAT\\webapps\\rebis\\WEB-INF\\i2conf\\todayReport\\todayReport.xml";
System.out.println("getrealpath = "+path);
//Document doc = builder.build(XMLTodayReports.getClass().getResourceAsStream("..\\..\\..\\..\\..\\i2conf\\report\\ReportDefine.xml"));
Document doc = builder.build(new File(path));//创建文档,读入XML文件
root = doc.getRootElement();
getTodayReports(root, xmltodayReports);
return xmltodayReports;
}
catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
/**
* 根据表名返回要找的报表信息.
* @param tableName
* @return XMLTable
*/
public XMLTodayReport getXMLTodayReport( String id ) {
if (id != "") {
return (XMLTodayReport) getXMLTodayReports(realpath).getTodayReportByID(id);
} else return null;
}
/**
* 返回TodayReport信息
* @return
*/
public List getAllValue(){
return (List) getXMLTodayReports(realpath).getAllValue();
}
/**
* @param todayReportsElem
* @param xmltodayReports
*/
public void getTodayReports( Element todayReportsElem , XMLTodayReports xmltodayReports) {
List todayReportList = todayReportsElem.getChildren(TODAYREPORT);
for (Iterator it = todayReportList.iterator(); it.hasNext();) {
Element todayReportEle = (Element) it.next();
XMLTodayReport xmltodayReport = new XMLTodayReport();
getTodayReport(todayReportEle, xmltodayReport);
xmltodayReports.addXMLTodayReport(xmltodayReport);
}
}
/**获取TodayReport节点
* @param todayReportElem
* @param xmltodayReport
*/
public void getTodayReport( Element todayReportElem , XMLTodayReport xmltodayReport ) {
xmltodayReport.setID(todayReportElem.getAttributeValue(ID));
xmltodayReport.setName(todayReportElem.getAttributeValue(NAME));
List todayReportList = todayReportElem.getChildren(REPORT);
for (Iterator it = todayReportList.iterator(); it.hasNext();) {
Element ReportEle = (Element) it.next();
XMLReport xmlReport = new XMLReport();
getReport(ReportEle, xmlReport);
xmltodayReport.addXMLReport(xmlReport);
}
/**
XMLReport xmlReport = new XMLReport();
getReport(todayReportElem.getChild(REPORT),xmlReport);
xmltodayReport.setXmlReport(xmlReport);
*/
}
/**获取Report节点的值
* @param ReportElem
* @param xmlreport
*/
private void getReport(Element ReportElem , XMLReport xmlreport ) {
xmlreport.setTableName(ReportElem.getAttributeValue(TABLENAME));
xmlreport.setDescription(ReportElem.getAttributeValue(DESCRIPTION));
XMLHead xmlHead = new XMLHead();
if(ReportElem.getChild(HEAD)==null){
xmlHead.setHeadSQLValue("null");
}else{
getHead(ReportElem.getChild(HEAD),xmlHead);
}
xmlreport.setXmlHead(xmlHead);
XMLBody xmlBody = new XMLBody();
getBody(ReportElem.getChild(BODY),xmlBody);
xmlreport.setXmlBody(xmlBody);
XMLStatistical xmlStatistical = new XMLStatistical();
if(ReportElem.getChild(STATISTICAL)==null){
xmlStatistical.setStatisticalSQLValue("null");
}else{
getStatistical(ReportElem.getChild(STATISTICAL),xmlStatistical);
}
xmlreport.setXmlStatistical(xmlStatistical);
XMLForward xmlForward = new XMLForward();
getForward(ReportElem.getChild(FORWARD), xmlForward);
xmlreport.setXmlForward(xmlForward);
}
/**
* 获取Head节点的属性值
* @param HeadElem
* @param xmlHead
*/
private void getHead( Element HeadElem , XMLHead xmlHead ) {
xmlHead.setHeadSQLValue(HeadElem.getTextTrim());
}
/**
* 获取Body节点的属性值
* @param BodyElem
* @param xmlBody
*/
private void getBody( Element BodyElem , XMLBody xmlBody ) {
xmlBody.setBodySQLValue(BodyElem.getTextTrim());
}
/**
* 获取Statistical节点的属性值
* @param StatisticalElem
* @param xmlStatistical
*/
private void getStatistical( Element StatisticalElem , XMLStatistical xmlStatistical ) {
xmlStatistical.setStatisticalSQLValue(StatisticalElem.getTextTrim());
}
/**
* 获取Forward节点的属性值
* @param ForwardElem
* @param xmlForward
*/
private void getForward( Element ForwardElem , XMLForward xmlForward ) {
xmlForward.setUrl(ForwardElem.getAttributeValue(URL));
}
public static void main(String[] args){
XMLTodayReportPar par = new XMLTodayReportPar();
XMLTodayReport todayReport = par.getXMLTodayReport("1");
System.out.println("eeee"+todayReport.getName());
List todayReportList = todayReport.getTodayReportList();
for (Iterator iter = todayReportList.iterator(); iter.hasNext();) {
XMLReport xmlReport = (XMLReport) iter.next();
System.out.println("pppp"+xmlReport.getDescription());
System.out.println("qqqq"+xmlReport.getXmlHead().getHeadSQLValue());
}
}
}
TodayReport.java
/*
* Created on 2005-12-29
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.ldtec.todayReport.data;
import java.io.Serializable;
import java.util.* ;
/**
* @author JOE
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class TodayReport implements Serializable{
private String id;
private String name;
private Vector report = new Vector();
public String getID()
{
return id;
}
public void setID(String id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public Vector getReport()
{
return report;
}
public void setReport(Vector report)
{
this.report = report;
}
}
XMLTodayReports.java
/*
* Created on 2005-12-27
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.ldtec.todayReport.data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//import com.ldtec.todayReport.data.*;
/**
* @author JOE
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class XMLTodayReports implements Serializable{
private Map todayReportsMap = new HashMap();//实现了将惟一键映射到特定的值上
List HeadSQLValueList = new ArrayList();
List TodayReportValueList = new ArrayList();
List ReportValueList = new ArrayList();
public Map getTodayReportsMap() {
return this.todayReportsMap;
}
public void setTodayReportsMap( Map todayReportsMap ) {
this.todayReportsMap = todayReportsMap;
}
public void addXMLTodayReport(XMLTodayReport xmltodayReport){
todayReportsMap.put(xmltodayReport.getID(),xmltodayReport);//put(object key,object value);
//key=tablename,value=tablename对应的FORMBEAN
}
public XMLTodayReport getTodayReportByID(String id)
{
if(id!=null){
return (XMLTodayReport)todayReportsMap.get(id);
}else{
return null;
}
}
public List getAllValue(){
if(TodayReportValueList.size()!=0){
TodayReportValueList.clear();
}
Object[] keys = todayReportsMap.keySet().toArray();
for(int i = 0; i < keys.length; i ++){
XMLTodayReport todayReport =(XMLTodayReport) todayReportsMap.get(keys[i]);
TodayReportValueList.add(todayReport);
}
return TodayReportValueList;
}
}
XMLTodayReport.java
/*
* Created on 2005-12-27
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.ldtec.todayReport.data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import com.ldtec.newreport.data.XMLCondition;
import com.ldtec.newreport.data.XMLConditions;
import com.ldtec.newreport.data.XMLField;
import com.ldtec.todayReport.data.*;
/**
* @author JOE
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class XMLTodayReport{
private String id;
private String name;
private List TodayReportList = new ArrayList();
private XMLReport xmlReport;
private XMLTodayReport xmlTodayReport;
public String getID() {
return id;
}
public void setID(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List getTodayReportList() {
return this.TodayReportList;
}
public void setTodayReportList( List todayReportList ) {
this.TodayReportList = todayReportList;
}
public void addXMLReport(XMLReport xmlReport){
TodayReportList.add(xmlReport);
}
}
XMLBody.java
/*
* Created on 2005-12-27
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.ldtec.todayReport.data;
import java.io.Serializable;
import com.ldtec.todayReport.data.*;
/**
* @author JOE
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class XMLBody implements Serializable{
private String BodySQLValue;
public String getBodySQLValue(){
return BodySQLValue;
}
public void setBodySQLValue(String BodySQLValue){
this.BodySQLValue = BodySQLValue;
}
}
XMLReport .java
/*
* Created on 2005-12-27
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.ldtec.todayReport.data;
import java.io.Serializable;
import com.ldtec.todayReport.data.*;
/**
* @author JOE
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class XMLReport implements Serializable{
private String tableName;
private String description;
private XMLHead xmlHead;
private XMLBody xmlBody;
private XMLStatistical xmlStatistical;
private XMLForward xmlForward;
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public String getDescription(){
return description;
}
public void setDescription(String description){
this.description = description;
}
public XMLHead getXmlHead() {
return xmlHead;
}
public void setXmlHead(XMLHead xmlHead) {
this.xmlHead = xmlHead;
}
public XMLBody getXmlBody() {
return xmlBody;
}
public void setXmlBody(XMLBody xmlBody) {
this.xmlBody = xmlBody;
}
public XMLStatistical getXmlStatistical() {
return xmlStatistical;
}
public void setXmlStatistical(XMLStatistical xmlStatistical) {
this.xmlStatistical = xmlStatistical;
}
public XMLForward getXmlForward() {
return xmlForward;
}
public void setXmlForward(XMLForward xmlForward) {
this.xmlForward = xmlForward;
}
}
XMLHead.java
/*
* Created on 2005-12-27
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.ldtec.todayReport.data;
import java.io.Serializable;
import com.ldtec.todayReport.data.*;
/**
* @author JOE
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class XMLHead implements Serializable{
private String HeadSQLValue;
public String getHeadSQLValue(){
return HeadSQLValue;
}
public void setHeadSQLValue(String HeadSQLValue){
this.HeadSQLValue = HeadSQLValue;
}
}
XML文件:
<?xml version="1.0" encoding="GB2312"?>
<TodayReports>
<TodayReport id="1" name="人员统计表">
<Report tableName="DTPEPOLE_REMAIN_DOWN_ROLL" description="井下现有人员统计表">
<Head>
<![CDATA[SELECT "COMMUNITY_NAME" FROM "DTPEPOLE_REMAIN_DOWN_ROLL" WHERE (GETDATE()-A_P_P_CREATED_DATE)>0 AND (GETDATE()-A_P_P_CREATED_DATE)<1]]>
</Head>
<Body>
<![CDATA[SELECT "UNIT","PLACE","TOTAL","REPORT_PEOPLE" FROM "DTPEPOLE_REMAIN_DOWN_ROLL" WHERE (GETDATE()-A_P_P_CREATED_DATE)>0 AND (GETDATE()-A_P_P_CREATED_DATE)<1]]>
</Body>
<Statistical>
<![CDATA[SELECT sum(total) FROM "DTPEPOLE_REMAIN_DOWN_ROLL" WHERE (GETDATE()-A_P_P_CREATED_DATE)>0 AND (GETDATE()-A_P_P_CREATED_DATE)<1]]>
</Statistical>
<Forward url="DOWN_ROLL"/>
</Report>
</TodayReport>
<TodayReports>
相关推荐
### Java读写XML文件知识点详解 #### 一、概述 在Java编程中,对XML文件进行读取与写入是一项非常常见的任务。XML(可扩展标记语言)是一种用于标记数据的语言,非常适合用来存储和传输数据。Java提供了多种API来...
Java 读取 XML 文件是 Java 开发中常见的一项任务,XML(eXtensible Markup Language)作为一种可扩展标记语言,广泛用于数据交换、配置存储等领域。本教程将深入讲解如何在 Java 中处理 XML 文件,同时涉及 XML 的 ...
要读取XML文件,Java提供了多种方法。以下是四种常用的方法,每种都有其适用场景和特点: 1. **DOM解析器(Document Object Model)** DOM解析器将整个XML文件加载到内存中,创建一个树形结构,允许我们通过节点...
#### 三、Java读取XML文件 对于XML文件的读取,我们可以采用Java标准库中的`BufferedReader`配合`InputStreamReader`的方式来进行处理。这样可以在读取文件的同时指定正确的字符编码,从而避免乱码问题。 ```java ...
### Java读写XML文件操作详解 在现代软件开发中,XML(可扩展标记语言)是一种广泛使用的数据交换格式,尤其在处理配置文件、数据存储以及跨平台数据交换时显得尤为重要。Java提供了多种读写XML文件的方法,包括SAX...
### Java读写XML文件的方法详解 #### 一、概述 在Java编程中,XML(Extensible Markup Language,可扩展标记语言)是一种广泛使用的数据交换格式。由于其良好的跨平台特性和自描述性,使得XML成为了许多应用程序...
Java语言在处理XML文件时,提供了丰富的API和库,使得我们可以轻松地读取、解析、修改和生成XML文档。在给定的场景中,我们主要关注如何使用Java来读取XML文件并根据需求生成新的文件。以下是关于这个主题的详细说明...
Java 读取 XML 文件的四种方法 在 Java 中读取 XML 文件有多种方法,本文将介绍四种常见的方法,分别使用 DOM、DOM4J、JDOM 和 SAX 解析器。 第一种方法:使用 DOM DOM(Document Object Model)是一种树形结构,...
本文将详细介绍如何使用Java来读取和修改XML文件,主要涉及以下几个核心知识点: 1. **DOM解析器**: Document Object Model(DOM)是一种将XML文档转换为内存中的树形结构的方法,使得可以遍历和修改XML文件。...
Java 读取 XML 文件内容的四种方法 Java 语言提供了多种方法来读取 XML 文件内容,以下是四种常见的方法: 1. DOM(Document Object Model) DOM 是一种基于树的模型,它将 XML 文档表示为一个层次结构的节点或...
在Java编程中,读取XML文件并将其转换为树形结构是一种常见的操作,尤其是在处理配置文件、数据交换或解析XML文档时。以下是一篇详细解释如何实现这一过程的文章。 首先,我们需要了解XML(eXtensible Markup ...
java从xml中读入数据并存入到sqlserver2005数据库中
二、Java读取XML文件 1. 使用DOM解析: 读取XML文件时,首先会将整个XML文档加载到内存中的DOM树,然后通过API遍历和访问各个节点。 示例代码: ```java import javax.xml.parsers.DocumentBuilder; import javax....
java实现的一个读取本地xml文件的例子,进入正题: 需要的包jdom2-2.0.6.jar:下载地址,http://mvnrepository.com/artifact/org.jdom/jdom2 此例子比较简单
在Java编程中,读取XML文件并从中获取Oracle数据库连接是一项常见的...以上就是关于"Java读取xml文件中oracle数据库连接"的相关知识,希望对您有所帮助。在实际项目中,可能还需要考虑异常处理、连接池管理等高级话题。
在Java编程语言中,XML(eXtensible Markup Language)是一种重要的数据交换格式,用于存储和...在提供的"在java中读写XML文件.ppt"和"源码"中,可能包含了更多详细的步骤和示例代码,可以帮助你进一步理解这个主题。
xml文件导入到mysql数据库中,包括文件:ConnectionUtils.java,InsertDT.java,db_mysql.properties,test01.xml,需要的jar包dom4j-1.6.1.jar,mysql-connection-java-3.1.1.3-bin.jar,jaxen-1.1-beta-7.jar