package com.poson.cb.util;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import com.poson.cb.dao.impl.sidmngr.XmlConfig;
/**
* Title: XmlParse
* Description: 用来解析配置了SQL脚本的XMl文件,如fileClassCount.xml
* Copyright: Copyright (c) 2007
* Company: POSON
* @author jczhangb
* @version 1.0
*/
public class XmlParse {
public static String File_Path;
public Document document;
private XmlParse() throws Exception{
SAXBuilder saBuilder=new SAXBuilder();
document=saBuilder.build(File_Path);
}
public static XmlParse getInstance() throws Exception{
File_Path=getCurrentPath()+File.separator+"fileClassCountSql.xml";
return new XmlParse();
}
public static XmlParse getInstance(String filePath) throws Exception{
File_Path=filePath;
return new XmlParse();
}
/**
* @parmer: id
* @return :返回对应的SQL脚本
* @author jczhangb
* @version 1.0
*/
public String getTextContentById(String attrName) throws Exception{
/*SAXBuilder saBuilder=new SAXBuilder();
org.jdom.Document document=saBuilder.build(getCurrentPath()+File.separator+fileName);*/
String sqlString="";
Element root=document.getRootElement();
List list=root.getChildren();
for (int i = 0; i < list.size(); i++) {
Element element=(Element)list.get(i);
if(element.getAttributeValue("id").equals(attrName)){
sqlString=element.getValue();
return sqlString;
}
}
return sqlString;
}
// 用来定位路径
static public String getCurrentPath() throws UnsupportedEncodingException {
String path = XmlConfig.class.getProtectionDomain().getCodeSource()
.getLocation().getFile();
path = java.net.URLDecoder.decode(path, "UTF-8");
int index = path.lastIndexOf("/classes");
path = path.substring(0, index);
System.out.println("CB xml path = [ " + path + " ]");
return path;
}
public static void main(String[] args) {
try {
System.out.println(XmlParse.getInstance().getTextContentById("ivpnTruncateSql"));
} catch (Exception e) {
System.out.println("没找到");
}
}
}
2013-08-01 19:40 记 @jinrongdajie31.xichengqu.beijing
分享到:
相关推荐
"XML通用解析工具类"就是为了简化这一过程而设计的。 XML解析工具有多种类型,包括DOM(Document Object Model)、SAX(Simple API for XML)、StAX(Streaming API for XML)以及XPath和XSLT等。每种解析方式有其...
通用的XML解析类通常会提供一个统一的接口,让开发者可以方便地选择DOM或SAX解析方式,或者根据需求自定义解析策略。这样的类可能包含以下功能: - 设置解析模式(DOM或SAX) - 提供解析XML文件的方法,接受文件...
在实际项目中,我们可能会需要一个通用的XML解析类,它能处理各种XML结构,而不关心具体的元素和属性。这样的通用类通常会包含解析XML文档、获取元素、获取属性值等功能,并且可能支持错误处理和自定义事件监听。...
本文将详细介绍如何创建一个Java通用的XML解析工具类,以便于在项目中复用和简化XML处理。 首先,我们来看DOM解析方式。DOM解析器会将整个XML文档加载到内存中,形成一棵树形结构,便于对XML进行随机访问。以下是一...
本主题将深入探讨一个基于标题“iOS解析xml通用类”的知识点,这个通用类使用了libxml库来实现XML的解析,并且结合ASI开源库实现了边下载边解析的功能。 首先,让我们了解一下XML解析的基本概念。XML是一种自描述性...
综上所述,"xml c++解析类"提供了C++环境中解析XML的工具,结合STL的优势,使得在C++程序中处理XML数据变得简单和高效。通过`MarkupSTL`和`XmlDoc`这两个类,开发者可以方便地读取、操作和创建XML文档,从而实现更...
标题中的“pull解析器通用解析XML与生成XML”是指一种基于Pull解析模型处理XML文档的技术。在Android系统中,XML Pull解析器是一个轻量级、高效的解析XML文档的工具,它不需要DOM(Document Object Model)或者SAX...
XML是一种通用的数据交换格式,它允许结构化数据的存储和传输,通常用于设备配置、数据通信或存储复杂信息。在STM32这样的微控制器上解析XML文件,可以使得嵌入式系统具备更强的数据处理能力。 STM32F107是一款高...
标题中的“非常好用的Delphi的XML解析类”指的是在Delphi编程环境中,存在一个高效且易用的XML解析库。Delphi是Object Pascal的一种现代实现,它提供了一个强大的集成开发环境(IDE)和丰富的库支持,包括XML处理。...
4. **通用接口**:定义一套统一的接口,使得无论使用哪种解析器,开发者都可以用相同的方式进行XML操作。 使用XML解析工厂的优点包括: - **灵活性**:可以轻松切换解析策略,适应不同场景的需求。 - **解耦**:将...
这个压缩包“比较通用的xml解析方法.zip”包含了一些与XML解析相关的资源,如库文件和源码示例,让我们逐一探讨。 1. **DOM4J.jar**: DOM4J 是一个灵活的 Java XML API,它提供了全面的功能,包括文档对象模型...
本人没分了,特别来分享一下,通用的XML读写工具类,同志们下下绝对不后悔
xml,公共解析,万能方法,通用方法,循环解析xml下的每一个节点
示例程序和“XML类使用说明文档.doc”应该提供了具体的使用示例和步骤,包括如何创建XML类的对象,如何读取和写入XML文件,如何创建和操作XML节点等。阅读这个文档是理解和使用这个XML类的关键。 此外,“XMLHelp”...
本压缩包文件"安卓网站交互JSONxmlWebserviceUPnP相关-比较通用的xml解析方法.rar"主要关注XML解析方法,虽然未提及具体的所有内容,但我们可以根据标签和描述来探讨这些关键知识点。 首先,让我们深入了解一下JSON...
本资料包“安卓Android源码——比较通用的xml解析方法”将深入探讨在Android平台上解析XML的多种方法。 1. DOM解析器(Document Object Model) DOM解析器将整个XML文档加载到内存中,创建一个树形结构,便于遍历和...
这个"通用的XML解析项目"显然关注的是如何高效地从XML文件中提取所需信息。 XML的结构基于元素(Element),每个XML文件都由一系列嵌套的元素组成。每个元素都有开始标签()、结束标签()和可能包含的文本内容。...
在Java编程中,通用实体类是一种设计模式,用于创建可复用的对象模型,这些对象能够代表数据库中的表或XML文档中的元素。这种设计允许开发者在不修改代码的情况下处理不同的数据结构,提高了代码的灵活性和可维护性...
6. **TiXmlNode**: 是所有其他类的基类,提供了通用的遍历和访问XML树结构的方法。 使用TinyXML的基本步骤如下: 1. 创建一个`TiXmlDocument`对象,加载XML文件。 2. 检查加载是否成功,通常通过`LoadFile()`方法...
XML(eXtensible Markup ...通过以上步骤,我们可以创建一个通用的XML解析生成工具类,无需预先知道对象结构,即可实现XML与Java对象之间的灵活转换。这样的工具对于数据持久化和跨系统数据交换具有很高的实用价值。