`
zfw198787
  • 浏览: 7197 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

读取xml类Configuration

 
阅读更多

package com.thinkive.base.config;

 

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

 

import org.apache.log4j.Logger;

import org.dom4j.Document;

import org.dom4j.Element;

 

import com.thinkive.base.util.StringHelper;

import com.thinkive.base.util.XMLHelper;

 

 

public class Configuration

{

 

private static Logger logger = Logger.getLogger(Configuration.class);

 

private static Map items = new HashMap();

 

private static String CONFIG_FILE_NAME = "configuration.xml";

 

static

{

loadConfig();

}

 

/**

* 读入配置文件

*/

private static void loadConfig()

{

try

{

 

Document document = XMLHelper.getDocument(Configuration.class, CONFIG_FILE_NAME);

if (document != null)

{

Element systemElement = document.getRootElement();

List catList = systemElement.elements("category");

for (Iterator catIter = catList.iterator(); catIter.hasNext();)

{

Element catElement = (Element) catIter.next();

String catName = catElement.attributeValue("name");

if (StringHelper.isEmpty(catName))

{

continue;

}

 

List itemList = catElement.elements("item");

for (Iterator itemIter = itemList.iterator(); itemIter.hasNext();)

{

Element itemElement = (Element) itemIter.next();

String itemName = itemElement.attributeValue("name");

String value = itemElement.attributeValue("value");

if (!StringHelper.isEmpty(itemName))

{

items.put(catName + "." + itemName, value);

}

}

}

}

}

catch (Exception ex)

{

logger.error("", ex);

}

finally

{

}

 

}

 

/**

* 获得字串配置值

*

* @param name

* @return

*/

public static String getString(String name)

{

String value = (String) items.get(name);

return (value == null) ? "" : value;

}

 

/**

* 获得字串配置值,若为空,则返回缺省值

*

* @param name

* @param defaultValue

* @return

*/

public static String getString(String name, String defaultValue)

{

String value = (String) items.get(name);

if (value != null && value.length() > 0)

return value;

else

return defaultValue;

}

 

/**

* 获得整型配置值

*

* @param name

* @return

*/

public static int getInt(String name)

{

String value = getString(name);

try

{

return Integer.parseInt(value);

}

catch (NumberFormatException ex)

{

return 0;

}

}

 

/**

* 获得整型配置值

*

* @param name

* @return

*/

public static int getInt(String name, int defaultValue)

{

String value = getString(name);

try

{

return Integer.parseInt(value);

}

catch (NumberFormatException ex)

{

}

return defaultValue;

}

 

/**

* 获得布尔型配置值

*

* @param name

* @return

*/

public static boolean getBoolean(String name)

{

String value = getString(name);

return Boolean.valueOf(value).booleanValue();

}

 

/**

* 获得双精度浮点数配置值

* @param name

* @return

*/

public static double getDouble(String name, double defaultValue)

{

String value = getString(name);

try

{

return Double.parseDouble(value);

}

catch (NumberFormatException ex)

{

}

return defaultValue;

}

 

public static Map getItems()

{

return items;

}

}

 

分享到:
评论

相关推荐

    org.apache.commons.configuration.XMLConfiguration的读取范例

    在这个范例中,我们将深入探讨如何使用 `XMLConfiguration` 类来读取XML配置文件,并从中提取数据。 XML配置文件是一种常见的存储应用程序设置的方式,因为它们结构清晰,易于人类阅读和编辑。`XMLConfiguration` ...

    C#读取XML配置文件

    本篇文章将深入探讨如何在C#中读取XML配置文件。 首先,让我们了解XML配置文件的基本结构。一个简单的XML配置文件可能如下所示: ```xml <?xml version="1.0" encoding="utf-8"?> <Configuration> </...

    Configuration对properties、xml配置文件的【增删改查】及动态加载

    XML配置文件的处理使用`XMLConfiguration`类。同样,通过指定文件路径,可以创建配置实例并获取配置信息。 2. **写入XML配置文件** 添加、修改XML配置使用`setProperty()`方法,删除则使用`removeProperty()`。保存...

    python读取xml文件代码

    本教程将详细介绍如何使用Python读取XML文件,并提供一个具体的代码示例。 在Python中,我们可以使用内置的`xml`模块来处理XML文件,特别是`xml.etree.ElementTree`子模块,它提供了方便的API来解析和操作XML文档。...

    wince下的C#读取xml文件

    在Wince上读取XML文件,可以使用C#的System.Xml命名空间中的类,如`XmlDocument`或`XDocument`。以下是一个使用`XmlDocument`的例子: ```csharp using System.IO; using System.Xml; public void ReadXmlFile...

    从配置文件XML读取信息连接数据库

    // 读取XML文件 DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse("databaseConfig.xml"); ...

    Jdom生成hibernate.cfg.xml和读取其中内容

    首先,JDOM是Java Document Object Model的简称,它是一个为Java设计的XML API,提供了对XML文档的全面处理能力,包括创建、修改和读取XML文档。JDOM的优点在于它的API完全基于Java,使得开发者可以更加直观地理解和...

    C#读写XML文件,支持多层节点

    要读取XML文件,可以使用XmlDocument的Load方法。以下是一个基本示例: ```csharp XmlDocument doc = new XmlDocument(); doc.Load("configXML.xml"); ``` 这会加载名为"configXML.xml"的文件到doc对象中,...

    完整XML读取数据,省市区三级插入数据库的Hibernate的实现。

    在本案例中,Hibernate被用来读取XML文件中的省市区数据,并将这些数据插入到相应的数据库表中。 实现这个功能的过程大致如下: 1. **配置Hibernate**:首先,我们需要在项目中引入Hibernate的依赖库,并配置...

    flink 实现将kafka的数据读取出来,并经过xml配置和重写算子方式实现数据处理

    public void open(Configuration parameters) throws Exception { // 初始化解析器等资源 } @Override public MyDataModel map(String value) throws Exception { // 解析 JSON 并提取字段 ObjectMapper ...

    winform 使用XML读写类型源码

    `XmlReader`只读取XML的当前位置,不存储整个文档,而`XmlWriter`则用于创建或追加XML内容,两者都支持流式处理,减少内存占用。 6. **XML配置文件**:在WinForm应用中,经常使用XML文件作为配置文件,存储应用设置...

    TinyXML2使用示例

    首先,`CXMLCfg.cpp`、`CXMLCfg.h`文件很可能包含了TinyXML2的封装类或函数,用于简化XML文档的读取和写入。在这个类中,可能会有如`LoadXMLFile`和`SaveXMLFile`这样的方法用于加载和保存XML文件,以及`...

    commons-configuration2-2.1-bin.zip

    Commons Configuration 使用`XMLConfiguration`类来处理XML配置文件。它支持XPath表达式,允许你通过路径定位到特定的配置元素。此外,XMLConfiguration还具备递归解析嵌套元素的能力,这对于大型复杂应用来说非常...

    vbscript 读取xml格式的配置文件

    以下是一个简单的示例,展示了一个名为`clsGetProfile`的VBScript类,该类用于读取XML配置文件中的特定键值对: ```vbscript Class clsGetProfile ' ルートドキュメント Private rootDoc ' xmlファイル名とセク...

    使用dom4j生成和读取hibernate.cfg.xml

    读取XML文件时,我们需要使用DOM4J的`DocumentBuilder`来解析XML文件并生成`Document`对象。之后,可以遍历`Document`的元素树,获取所需的信息。例如: ```java import org.dom4j.Document; import org.dom4j....

    java读取配置文件

    这里,`XMLConfiguration` 类能够解析 XML 文件并提供对节点和属性的访问,如 `getList()` 和 `getInt()` 方法。 **Apache Commons Configuration**: Apache Commons Configuration 提供了一种统一的方式来处理...

    C# Webservice返回指定的xml格式

    如果你需要在Web服务中使用这个文件,你可以读取其内容并根据需要构建XML响应。例如,你可以使用`System.IO.File`类来读取文件内容: ```csharp string filePath = Server.MapPath("mes_esb-测试用.xml"); // 获取...

    使用C#写的XML操作类

    - `XmlReader`: 用于高效的只进式读取XML数据,不保存整个文档。 - `XmlWriter`: 用于生成XML数据,支持流式写入。 3. **使用XmlDocument操作XML** - 加载XML:`XmlDocument doc = new XmlDocument(); doc.Load...

Global site tag (gtag.js) - Google Analytics