`

使用XMLConfiguration读取XML文件

阅读更多
包含XMLConfiguration的TestDataReader,用来读取XML文件,并能直接或者字符串,整形数据.要读取的XML文件格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<modules name="testData">

	<welcomeToPage>
		<patientURL>/patient/welcome.htm</patientURL>
		<welcomeMessageVP>Welcome to myBJC.org</welcomeMessageVP>
		<invalidPasswordVP>Unable to login</invalidPasswordVP>
		<errorPasswordVP>An error has occurred</errorPasswordVP>
        <randomQuestion>
			What is the name of your favorite author?=TomTom,
			What was your childhood nickname?=TBDTom,
			In what city did you meet your spouse or significant other?=STLTom,
			What school did you attend for sixth grade?=Maiden Tom
		</randomQuestion>			
	</welcomeToPage>
</modules>


TestDataReader代码如下:
import java.util.Properties;

import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
import org.apache.log4j.Logger;

/**
 * This class is used to parse an xml configuration file and return specified
 * value.
 */
public final class TestDataReader {
    private static final String KEY_CONNECTOR = ".";
    private static final String DATA_FILE_NAME = System
            .getProperty("user.dir")
            + "/src/test/resources/testData.xml";
    private static final Logger LOGGER = Logger
            .getLogger(TestDataReader.class);
    private static TestDataReader instance;
    private XMLConfiguration xmlConfig;

    private TestDataReader() {
        try {
            xmlConfig = new XMLConfiguration(DATA_FILE_NAME);
        } catch (ConfigurationException e) {
            LOGGER.error(e);
            throw new RuntimeException(e);
        }
    }

    /**
     * Read String type property.
     *
     * @param moduleName related module (second level node in xml).
     * @param propName   property name in xml file (third level node in xml ).
     * @return property of String type
     */
    public String getStringProperty(String moduleName, String propName) {
        return xmlConfig.getString(moduleName + KEY_CONNECTOR + propName);
    }

    /**
     * Read int type property.
     *
     * @param moduleName related module (second level node in xml).
     * @param propName   property name in xml file (third level node in xml ).
     * @return property of int type
     */
    public int getIntProperty(String moduleName, String propName) {
        return xmlConfig.getInt(moduleName + KEY_CONNECTOR + propName);
    }

    /**
     * Read property from hash table.
     *
     * @param moduleName related module (second level node in xml).
     * @param propName   property name in xml file (third level node in xml ).
     * @param eleName    key value of the hash table.
     * @return property of int type
     */
    public String getHashProperty(String moduleName, String propName,
                                  String eleName) {
        // property contains a list key/value pairs
        Properties property = xmlConfig.getProperties(moduleName
                + KEY_CONNECTOR + propName);

        // Look up the list and get the specified value
        return property.get(eleName).toString();
    }

    /**
     * Generate identical instance.
     *
     * @return identical instance of TestDataReader
     * @throws ConfigurationException ConfigurationException when instantiating
     * TestDataReader.
     */
    public static TestDataReader getInstance() {
        if (instance == null) {
            instance = new TestDataReader();
        }
        return instance;
    }

}
1
0
分享到:
评论

相关推荐

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

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

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

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

    winform 使用XML读写类型源码

    例如,使用`ConfigurationManager`类读取或写入`app.config`文件,其中包含了应用程序的配置信息。 这个源码示例可能是演示如何在WinForm窗体中加载XML文件,展示数据,以及提供用户交互以更新XML文件。它可能包含...

    C#读取XML配置文件

    5. **配置文件管理**:在大型项目中,通常会使用`System.Configuration`命名空间的`ConfigurationManager`类来管理和读取应用程序配置文件,如app.config或web.config。这种方式可以更方便地处理应用程序级别的配置...

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

    本文将详细讲解如何使用C#进行XML文件的读写操作,特别是处理多层节点的情况。 首先,我们需要了解.NET Framework提供的System.Xml命名空间,其中包含了处理XML文档的主要类。例如,XmlDocument、XmlNode、...

    wince下的C#读取xml文件

    本文将详细介绍如何在Wince下使用C#进行XML文件的读写操作。 首先,理解XML文件的基本结构是至关重要的。XML是一种自描述性、可扩展的标记语言,用于存储和传输数据。一个简单的XML文件示例如下: ```xml &lt;?xml ...

    Excel操作XML文件

    标题“Excel操作XML文件”指的是使用Microsoft Excel进行XML(可扩展标记语言)文件的处理,特别是在.NET环境中,针对config配置文件的读取和修改。XML文件通常用于存储数据,而.NET config文件则用来存储应用程序的...

    python读取xml文件代码

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

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

    在Java开发中,数据库连接是不可或缺的部分,而JDBC(Java Database ...在实际项目中,可以结合使用Spring框架的ApplicationContext或者Apache Commons Configuration等工具,更方便地管理和加载XML配置文件。

    整合activiti.cfg.xml文件到资源文件

    本文将深入探讨如何将`activiti.cfg.xml`文件整合到资源文件中,以便实现更灵活、高效的配置管理,同时兼顾应用的便捷性和适应性。 `activiti.cfg.xml`是Activiti引擎的主要配置文件,它定义了与数据库连接、事务...

    java读取配置文件

    以下是如何使用 Commons Configuration 的 `XMLConfiguration` 类来解析 XML 配置文件: ```java import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration....

    将INI文件转换成XML

    标题中的“将INI文件转换成XML”涉及到的是两种不同的数据存储格式之间的转换。INI文件是Windows操作系统中常用的一种配置文件格式,它以简洁的方式存储键值对,通常用于应用程序的设置。XML(eXtensible Markup ...

    TinyXML2使用示例

    在“TinyXML2使用示例”中,我们可以通过提供的源代码和XML配置文件来了解如何使用TinyXML2进行XML操作。 首先,`CXMLCfg.cpp`、`CXMLCfg.h`文件很可能包含了TinyXML2的封装类或函数,用于简化XML文档的读取和写入...

    解析excel、xml配置文件&&输出java测试文件Demo

    - 在Demo中,首先使用POI读取Excel文件,提取所需数据。 - 接着,使用DOM解析XML文件,获取配置信息。 - 结合Excel和XML数据,根据预定义的模板生成Java测试类。 - 最后,运行生成的测试文件,验证配置是否正确...

    C#中创建XML文件

    最后,使用`Save`方法将XML文档保存到文件中。 ```csharp xml_doc.Save("path/to/your/file.xml"); ``` #### 8. 示例代码分析 示例代码展示了如何创建一个包含多个节点的XML文档。其中创建了一个名为`Employees`...

    一个利用a Custom XML Configuration 进行ASP.NET网页参数配置而非 web.config的源码例子

    2. 配置读取器:使用`System.Configuration`命名空间中的类,如`XmlConfigurationSectionHandler`或自定义配置处理程序来解析`CustomConfig.xml`文件。创建一个配置节处理器类,如`CustomConfigSectionHandler`: `...

    .NET操作XML文件完整源码

    本篇文章将详细探讨如何使用C#进行XML文件的操作,包括读取、写入、修改以及解析XML文档。 1. **读取XML文件** 使用`System.Xml`命名空间中的`XmlDocument`类可以轻松读取XML文件。首先,我们需要加载XML文件,...

    commons-configuration2-2.1-bin.zip

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

    【ASP.NET编程知识】asp.net实现XML文件读取数据绑定到DropDownList的方法.docx

    在本文档中,我们探讨了如何使用ASP.NET将XML文件中的数据读取并绑定到DropDownList控件,这是一个常用的数据展示和选择组件。以下是实现这一功能的具体步骤和相关知识点: 1. **绑定DropDownList**: 当我们需要...

Global site tag (gtag.js) - Google Analytics