`

xml通用解析类

    博客分类:
  • XML
阅读更多
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通用解析工具类"就是为了简化这一过程而设计的。 XML解析工具有多种类型,包括DOM(Document Object Model)、SAX(Simple API for XML)、StAX(Streaming API for XML)以及XPath和XSLT等。每种解析方式有其...

    比较通用的xml解析方法

    通用的XML解析类通常会提供一个统一的接口,让开发者可以方便地选择DOM或SAX解析方式,或者根据需求自定义解析策略。这样的类可能包含以下功能: - 设置解析模式(DOM或SAX) - 提供解析XML文件的方法,接受文件...

    xml解析读取通用类

    在实际项目中,我们可能会需要一个通用的XML解析类,它能处理各种XML结构,而不关心具体的元素和属性。这样的通用类通常会包含解析XML文档、获取元素、获取属性值等功能,并且可能支持错误处理和自定义事件监听。...

    java通用解析XML工具类

    本文将详细介绍如何创建一个Java通用的XML解析工具类,以便于在项目中复用和简化XML处理。 首先,我们来看DOM解析方式。DOM解析器会将整个XML文档加载到内存中,形成一棵树形结构,便于对XML进行随机访问。以下是一...

    iOS解析xml通用类

    本主题将深入探讨一个基于标题“iOS解析xml通用类”的知识点,这个通用类使用了libxml库来实现XML的解析,并且结合ASI开源库实现了边下载边解析的功能。 首先,让我们了解一下XML解析的基本概念。XML是一种自描述性...

    xml c++解析类

    综上所述,"xml c++解析类"提供了C++环境中解析XML的工具,结合STL的优势,使得在C++程序中处理XML数据变得简单和高效。通过`MarkupSTL`和`XmlDoc`这两个类,开发者可以方便地读取、操作和创建XML文档,从而实现更...

    pull解析器通用解析XML与生成XML

    标题中的“pull解析器通用解析XML与生成XML”是指一种基于Pull解析模型处理XML文档的技术。在Android系统中,XML Pull解析器是一个轻量级、高效的解析XML文档的工具,它不需要DOM(Document Object Model)或者SAX...

    STM32解析XML

    XML是一种通用的数据交换格式,它允许结构化数据的存储和传输,通常用于设备配置、数据通信或存储复杂信息。在STM32这样的微控制器上解析XML文件,可以使得嵌入式系统具备更强的数据处理能力。 STM32F107是一款高...

    非常好用的Delphi的XML解析类

    标题中的“非常好用的Delphi的XML解析类”指的是在Delphi编程环境中,存在一个高效且易用的XML解析库。Delphi是Object Pascal的一种现代实现,它提供了一个强大的集成开发环境(IDE)和丰富的库支持,包括XML处理。...

    xml文件解析工厂

    4. **通用接口**:定义一套统一的接口,使得无论使用哪种解析器,开发者都可以用相同的方式进行XML操作。 使用XML解析工厂的优点包括: - **灵活性**:可以轻松切换解析策略,适应不同场景的需求。 - **解耦**:将...

    比较通用的xml解析方法.zip

    这个压缩包“比较通用的xml解析方法.zip”包含了一些与XML解析相关的资源,如库文件和源码示例,让我们逐一探讨。 1. **DOM4J.jar**: DOM4J 是一个灵活的 Java XML API,它提供了全面的功能,包括文档对象模型...

    XML读写工具类

    本人没分了,特别来分享一下,通用的XML读写工具类,同志们下下绝对不后悔

    xml公共解析方法

    xml,公共解析,万能方法,通用方法,循环解析xml下的每一个节点

    XML类(VS2005下C++封装的通用XML类,并附使用说明)

    示例程序和“XML类使用说明文档.doc”应该提供了具体的使用示例和步骤,包括如何创建XML类的对象,如何读取和写入XML文件,如何创建和操作XML节点等。阅读这个文档是理解和使用这个XML类的关键。 此外,“XMLHelp”...

    安卓网站交互JSONxmlWebserviceUPnP相关-比较通用的xml解析方法.rar

    本压缩包文件"安卓网站交互JSONxmlWebserviceUPnP相关-比较通用的xml解析方法.rar"主要关注XML解析方法,虽然未提及具体的所有内容,但我们可以根据标签和描述来探讨这些关键知识点。 首先,让我们深入了解一下JSON...

    安卓Android源码——比较通用的xml解析方法.rar

    本资料包“安卓Android源码——比较通用的xml解析方法”将深入探讨在Android平台上解析XML的多种方法。 1. DOM解析器(Document Object Model) DOM解析器将整个XML文档加载到内存中,创建一个树形结构,便于遍历和...

    通用的解析xml里面的数据

    这个"通用的XML解析项目"显然关注的是如何高效地从XML文件中提取所需信息。 XML的结构基于元素(Element),每个XML文件都由一系列嵌套的元素组成。每个元素都有开始标签()、结束标签()和可能包含的文本内容。...

    采用反射技术和XML的通用实体类

    在Java编程中,通用实体类是一种设计模式,用于创建可复用的对象模型,这些对象能够代表数据库中的表或XML文档中的元素。这种设计允许开发者在不修改代码的情况下处理不同的数据结构,提高了代码的灵活性和可维护性...

    tinyxml解析xml文件

    6. **TiXmlNode**: 是所有其他类的基类,提供了通用的遍历和访问XML树结构的方法。 使用TinyXML的基本步骤如下: 1. 创建一个`TiXmlDocument`对象,加载XML文件。 2. 检查加载是否成功,通常通过`LoadFile()`方法...

    pull解析器解析XML工具类

    XML(eXtensible Markup ...通过以上步骤,我们可以创建一个通用的XML解析生成工具类,无需预先知道对象结构,即可实现XML与Java对象之间的灵活转换。这样的工具对于数据持久化和跨系统数据交换具有很高的实用价值。

Global site tag (gtag.js) - Google Analytics