Java如何读取XML文件 具体实现
转载自:http://www.jb51.net/article/44338.htm
- import java.io.*;
- import javax.xml.parsers.DocumentBuilder;
- import javax.xml.parsers.DocumentBuilderFactory;
- import org.w3c.dom.Document;
- import org.w3c.dom.Element;
- import org.w3c.dom.Node;
- import org.w3c.dom.NodeList;
- public class XMLReaderTest {
- public static void main(String args[]) {
- Element element = null;
- // 可以使用绝对路劲
- File f = new File("test.xml");
- // documentBuilder为抽象不能直接实例化(将XML文件转换为DOM文件)
- DocumentBuilder db = null;
- DocumentBuilderFactory dbf = null;
- try {
- // 返回documentBuilderFactory对象
- dbf = DocumentBuilderFactory.newInstance();
- // 返回db对象用documentBuilderFatory对象获得返回documentBuildr对象
- db = dbf.newDocumentBuilder();
- // 得到一个DOM并返回给document对象
- Document dt = db.parse(f);
- // 得到一个elment根元素
- element = dt.getDocumentElement();
- // 获得根节点
- System.out.println("根元素:" + element.getNodeName());
- // 获得根元素下的子节点
- NodeList childNodes = element.getChildNodes();
- // 遍历这些子节点
- for (int i = 0; i < childNodes.getLength(); i++) {
- // 获得每个对应位置i的结点
- Node node1 = childNodes.item(i);
- if ("Account".equals(node1.getNodeName())) {
- // 如果节点的名称为"Account",则输出Account元素属性type
- System.out.println("\r\n找到一篇账号. 所属区域: " + node1.getAttributes().getNamedItem("type").getNodeValue() + ". ");
- // 获得<Accounts>下的节点
- NodeList nodeDetail = node1.getChildNodes();
- // 遍历<Accounts>下的节点
- for (int j = 0; j < nodeDetail.getLength(); j++) {
- // 获得<Accounts>元素每一个节点
- Node detail = nodeDetail.item(j);
- if ("code".equals(detail.getNodeName())) // 输出code
- System.out.println("卡号: " + detail.getTextContent());
- else if ("pass".equals(detail.getNodeName())) // 输出pass
- System.out.println("密码: " + detail.getTextContent());
- else if ("name".equals(detail.getNodeName())) // 输出name
- System.out.println("姓名: " + detail.getTextContent());
- else if ("money".equals(detail.getNodeName())) // 输出money
- System.out.println("余额: " + detail.getTextContent());
- }
- }
- }
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
/*if("index_SCORM.html".equals(detail2.getAttributes().getNamedItem("href").getNodeValue())){
return "index_SCORM.html";*/
然后我们测试的XML文件(test.xml)要放在项目工程的根目录下,其内容是:
- <?xml version="1.0" encoding="gbk"?>
- <Accounts>
- <Account type="type1">
- <code>100001</code>
- <pass>123</pass>
- <name>李四</name>
- <money>1000000.00</money>
- </Account>
- <Account type="type2">
- <code>100002</code>
- <pass>123</pass>
- <name>张三</name>
- <money>1000.00</money>
- </Account>
- </Accounts>
直接运行代码,输出:
根元素:Accounts
找到一篇账号. 所属区域: type1.
卡号: 100001
密码: 123
姓名: 李四
余额: 1000000.00
找到一篇账号. 所属区域: type2.
卡号: 100002
密码: 123
姓名: 张三
余额: 1000.00
Java如何读取XML文件 具体实现的更多相关文章
- java Domj4读取xml文件
先概括,再以代码形式给出. 获取节点: Iterator Element.nodeIterator(); //获取当前标签节点下的所有子节点 获取 标签: Element Document.get ...
- Java反射——读取XML文件,创建对象
读取XML文件,创建对象 config.xml <?xml version="1.0" encoding="UTF-8"?> <beans&g ...
- java Domj4读取xml文件加强训练案例
需求:给出一段xml文件.要求按照鸳鸯输出. xml文件代码如下: <?xml version="1.0" encoding="utf-8"?> & ...
- Java获取路径方法&相对路径读取xml文件方法
(1).request.getRealPath("/");//不推荐使用获取工程的根路径 (2).request.getRealPath(request.getRequestURI ...
- JAVA读取XML文件数据
XML文档内容如下: <?xml version="1.0" encoding="UTF-8"?> <root> <field t ...
- java 读取XML文件作为配置文件
首先,贴上自己的实例: XML文件:NewFile.xml(该文件与src目录同级) <?xml version="1.0" encoding="UTF-8&quo ...
- java读取xml文件报“org.xml.sax.SAXParseException: Premature end of file” .
背景:java读取xml文件,xml文件内容只有“<?xml version="1.0" encoding="UTF-8"?>”一行 java读取该 ...
- 分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要)
原文:分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要) XML文件 <?xml version="1.0"?> <student ...
- java读取XML文件的四种方式
java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...
随机推荐
- java系统高并发解决方案(转载)
转载博客地址:http://blog.csdn.net/zxl333/article/details/8454319 转载博客地址:http://blog.csdn.net/zxl333/articl ...
- 【poj1740】 A New Stone Game
http://poj.org/problem?id=1740 (题目链接) 男人八题之一 题意 对于n堆石子,每堆若干个,两人轮流操作,每次操作分两步,第一步从某堆中去掉至少一个,第二步(可省略)把该 ...
- NOIP2005提高组 过河
题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ...
- Opencv显示图片并监听鼠标坐标
#include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> #include & ...
- mysql 为字段增加主键
alter table 表名 add primary key(`字段`)
- linux下python版webshell后门查杀工具
使用说明: 1.查杀指定路径:python webshell.py 路径 2.按时间查找文件:python webshell.py 路径 “2013-09-28 00:00:00″ # -*- cod ...
- IIS负载均衡-Application Request Route详解第一篇: ARR介绍(转载)
IIS负载均衡-Application Request Route详解第一篇: ARR介绍 说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Applica ...
- 用JSON-server模拟REST API(一) 安装运行
用JSON-server模拟REST API(一) 安装运行 在开发过程中,前后端不论是否分离,接口多半是滞后于页面开发的.所以建立一个REST风格的API接口,给前端页面提供虚拟的数据,是非常有必要 ...
- 使用mysql服务来记录用户的反馈
经过前几篇教程的学习,相信你对于微信的操作与SAE和webpy都有了些了解,那么这次我想加一个功能,通过mysql来记录用户的反馈,如用户输入fk+内容,然后通过一个页面来显示,最终的效果如下 htt ...
- 第15章 使用Postfix与Dovecot收发电子邮件
章节概述: 本章节从电子邮局系统的组成角色开始讲起,了解MUA.MTA与MDA的作用,熟悉熟悉SMTP.POP3与IMAP4邮局协议. 学习postfix与dovecot服务程序的使用方法并逐条讲解配 ...