首先,贴上自己的实例:

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)

最新文章

  1. jquery非空验证功能
  2. 【iCore2 双核心板视频教程一】iM_LAN 100M 以太网模块UDP例程(包含视频教程)
  3. 数据库mysql中distinct关键词
  4. Spring中@Resource、@controller注解的含义
  5. LeetCode15 3Sum
  6. JNI 学习笔记
  7. Atom编辑器入门到精通(六) Markdown支持
  8. Java练习题
  9. Publisher/Subscriber(发布/订阅者)消息模式开发流程
  10. 数字证书文件cer和pfx的区别
  11. listView中setOnItemClickListener和getSelectedItemPosition()取不到position问题
  12. 高放的c++学习笔记之lambda表达式
  13. mongodb学习(二)分级查询数组中的值
  14. Go语言学习笔记(三)数组 &amp; 切片 &amp; map
  15. Scrapy 1.4 文档 04 例子
  16. DateUtil日期工具类
  17. mysql-笔记-默认值
  18. wincvs配置方法
  19. 修改placeholder样式
  20. 分离vue组件内部css

热门文章

  1. LAMP之安装mysql/apache/php
  2. 修改Widows网络设置提升网速
  3. spring MVC 详细入门
  4. ionicModal中的监听事件
  5. bzoj 2049: [Sdoi2008]Cave 洞穴勘测
  6. Section 1.4 Mother&#39;s Milk
  7. JDBC Thin Driver 的formats三种格式
  8. Coudera-Manager/CDH的安装和部署
  9. EAX、ECX、EDX、EBX寄存器的作用
  10. 检测INT3 软断点