首先,贴上自己的实例:

XML文件:NewFile.xml(该文件与src目录同级)

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property>
<name>s3Bucket</name>
<value></value>
<description>get s3Bucket to get data</description>
</property>
<property>
<name>s3key</name>
<value>2016-12-19/12:26:36</value>
<description></description>
</property>
<property>
<name>DynamoDBTable</name>
<value>longyauntest</value>
<description></description>
</property>
<property>
<name>KINESIS_STREAM_NAME</name>
<value></value>
<description></description>
</property>
<property>
<name>Region</name>
<value>cn-north-1</value>
<description></description>
</property>
<property>
<name>LogFilePath</name>
<value></value>
<description>save logfile to somewhere in s3
eg:s3bucket://prefix key.</description>
</property>
</configuration>

读取类:

String CONFIGXML_FILEPATH="NewFile.xml";
Map<String, String> propertyMap = new HashMap<String, String>();
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(CONFIGXML_FILEPATH);
// 获取根元素
Element configuration = doc.getDocumentElement(); // System.out.println(rootElement); // 获取根元素下面的子节点列表
NodeList propertyList = configuration.getChildNodes(); for (int i = 0; i < propertyList.getLength(); i++) {
// 获取每个子节点
Node property = propertyList.item(i); String propertyName = null;
String propertyValue = null; //该list包括单个property中的各个子节点,包括name、value、description
NodeList nodeList = property.getChildNodes();
// 遍历该节点的详细信息
for (int j = 0; j < nodeList.getLength(); j++) {
Node propertyDetail = nodeList.item(j); if (!propertyDetail.getNodeName().equals("#text")) {
// 获取属性名
if (propertyDetail.getNodeName().equals("name")) {
propertyName = propertyDetail.getTextContent();
}
// 获取属性值
if (propertyDetail.getNodeName().equals("value")) {
propertyValue = propertyDetail.getTextContent();
}
}
}
// 如果属性值不为null,则将属性放入map中
if (propertyValue != null) {
PropertyMap.put(propertyName, propertyValue);
System.out.println(propertyName + ":" + propertyValue);
}
}

         //打印
// for(String key:property.keySet())
// {
// System.out.println(key+":"+property.get(key));
// } } catch (FileNotFoundException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

ok,以下是别人的:

1.java读取xml文件的四种方法

2.四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)(这个妹纸比较6)

3.java解析xml文件(三种方式-(dom ,jdom ,dom4j)

java 读取XML文件作为配置文件的更多相关文章

  1. JAVA读取XML文件并解析获取元素、属性值、子元素信息

    JAVA读取XML文件并解析获取元素.属性值.子元素信息 关键字 XML读取  InputStream   DocumentBuilderFactory   Element     Node 前言 最 ...

  2. java读取xml文件报“org.xml.sax.SAXParseException: Premature end of file” .

    背景:java读取xml文件,xml文件内容只有“<?xml version="1.0" encoding="UTF-8"?>”一行 java读取该 ...

  3. java读取XML文件的四种方式

    java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...

  4. java读取 xml文件

    java读取xml文件的四种方法  转自https://www.cnblogs.com/lingyao/p/5708929.html Xml代码 1 <?xml version="1. ...

  5. JAVA读取XML文件数据

    XML文档内容如下: <?xml version="1.0" encoding="UTF-8"?> <root> <field t ...

  6. java读取XML文件,及封装XML字符串

    package com.yyl.text; import java.io.FileInputStream; import java.util.ArrayList; import org.junit.T ...

  7. 通过Java读取xml文件内容

    读取XML中的内容就需要对XML进行解析,目前对XML进行解析的方法分为四种: 下面解析的方法是DOM4J,需要下载jar包dom4j:https://dom4j.github.io/ package ...

  8. java读取xml文件并转换成对象,并进行修改

    1.首先要写工具类,处理读取和写入xml文件使用的工具.XMLUtil.javaimport java.io.FileInputStream; import java.io.FileWriter; i ...

  9. 精----Java读取xml文件的四种方法

    xml文件: Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT> <VA ...

随机推荐

  1. 关于php用simplexml_load_string解析xml出现乱码的小结

    最近在做项目时需要通过xml接口读取合作伙伴数据到数据库,在xml解析环节出现有些特殊中文字符乱码的现象.后采取下面的办法终于解决. 1.curl 抓取过来的字符是unicode编码,需要先转换为ut ...

  2. 如何打开asp.net中的出错提示?在程序发布后

    答案:修改其中的一个配置节点,<customErrors mode="On"/>

  3. jsm使用

    参考:http://blog.csdn.net/robinjwong/article/details/38820259

  4. myeclipse中导入的jquery文件报错(出现红叉叉,提示语法错误)

    转自:http://blog.csdn.net/simplty/article/details/7661504

  5. C-指针与引用的区别

    1. 指针是一个变量,保存一个地址,指向内存中的一个单元.而引用是一个别名. int a = 1; int* p = &a; int b = 1; int& r = b; 2. 指针可 ...

  6. 一台服务器搭载两个tomcat项目

    之前下载的mysql  在官网是有 历史库的 如果现在一台机器上已经部署了一个tomcat服务,无论这个tomcat是否已经注册为服务了,或者没有注册windows服务,或者注册了,都没关系.都可以采 ...

  7. [转]VS2005 Debug时提示"没有找到MSVCR80D.dll"的解决办法

    总结各种解决方法如下: 原因:(不知道在说啥)由于VS.net 2005 采用了一种新的DLL方案,搞成一个exe还要配有一个manifest文件(一般在嵌入文件里了,所以看不到,不过也可以不嵌入,这 ...

  8. linux学习笔记4:linux的任务调度,进程管理,mysql的安装和使用,ssh工具的使用,linux网络编程

    1.设置任务调度命令crontab 任务调度是指系统在某个时间执行的特定的命令或程序.任务调度分为:1)系统工作:有些重要的工作必须周而复始的执行,如病毒扫描.2)个别用户工作:个别用户可能希望执行某 ...

  9. .net 找回密码的第一步 第二步 第三步的进程条

    先写一个div作为存放这个进程条的容器 开始写js 根据jQuery选择器找到需要加载ystep1的容器 loadstep方法可以初始化 steps参数表示步骤名称,content则是鼠标移动到当前位 ...

  10. Ogre学习笔记Basic Tutorial 前四课总结

    转自:http://blog.csdn.net/yanonsoftware/article/details/1011195 OGRE Homepage:http://www.ogre3d.org/   ...