Java中读取xml方法
- package zaxiang;
- 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("config/NewFile.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();
- }
- }
- }
处理的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>
Java中读取xml方法的更多相关文章
- Java中读取文件
Java中读取文件,去除一些分隔符,保存在多维数组里面 public void readFile(String filePath) { File file=new File(filePath); Ar ...
- java中读取特殊文件的类型
java中读取特殊文件的类型: 第一种方法(字符拼接读取): public static String getType(String s){ String s1=s.substring(s.index ...
- Java中读取.properties配置文件的通用类
由于Java中读取配置文件的代码比较固定,所以可以将读取配置文件的那部分功能单独作为一个类,以后可以复用.为了能够达到复用的目的,不能由配置文件中每一个属性生成一个函数去读取,我们需要一种通用的方法读 ...
- Java中的Xml配置文件(新手)
Java中的Xml配置文件,本文是转发转发转发!重要的事情说三遍 一:概念 1.XML Extensible markup Language 可拓展标记语言 2.功能:存储数据(配置文件,在网络中传 ...
- 浅谈Java中的hashcode方法
哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: 1 public native int hashCode(); 根据 ...
- 千万不要误用 java 中的 HashCode 方法
刚才debug追堆栈的时候发现一个很奇怪的问题 我用IE8和Google的浏览器访问同一个地址 Action的 scope="session" 也设置了 而且两个浏览器提交的参数m ...
- Java中的toString()方法
Java中的toString()方法 目录 Java中的toString()方法 1. 对象的toString方法 2. 基本类型的toString方法 3. 数组的toString ...
- Java中的main()方法详解
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是 ...
- 【转】浅谈Java中的hashcode方法(这个demo可以多看看)
浅谈Java中的hashcode方法 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: public native i ...
随机推荐
- java使用split分隔,需要注意的点
String severName = "10.6.62.244"; System.out.println(severName.split(".").length ...
- 跟着百度学PHP[4]OOP面对对象编程-13-魔术方法__set(),__get(),__isset(),__unset()
__set() 在对象访问私有成员的时候自动被调用,达到了给你看,但是不能给你修改的效果!(在对象访问一个私有的成员的时候就会自动的调用该魔术方法) __get() 方法用于获取私有属性值.(在设置私 ...
- JQ库函数记忆要点
1.核心(1.核心函数2.对象访问3.数据缓存4.队列控制4.插件机制5.多库共存) 2.属性(1.属性2.css类3.HTML代码/文本/值) 3.选择器(表单,表单对象属性,基本,内容,子元素,层 ...
- POJ 3641 快速幂+素数
http://poj.org/problem?id=3641 练手用,结果念题不清,以为是奇偶数WA了一发 #include<iostream> #include<cstdio> ...
- 将 JAR 转为 EXE – JSMOOTH 的使用教程(第二期)(转载)
http://www.iteknical.com/convert-jar-to-exe-phase-ii-jsmooth-use-tutorial/
- AngularJs之ng-repeat的用法
可参考文章:http://blog.csdn.net/renfufei/article/details/43061877 ng-repeat信息展示的核心: [1]异步读取数据源 works,见代码一 ...
- Eclipse CDT “Symbol NULL could not be resolved”
在ubuntu里装的eclipse C/C++版,交叉编译程序时,总是提示Symbol NULL could not be resolved.Symbol size_t could not be re ...
- 错误描述:请求“System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”类型的权限已失败
错误描述:请求“System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, Pu ...
- pc/app 项目/功能设计
2015-08-11 15:29:59 首先, 提供服务的整个系统包含哪几个设备 用户->[PC浏览器|APP|APP浏览器]->web服务器->[PHP/JAVA组件]->[ ...
- Java中时间日期格式化
1.与日期时间相关的类: 第一:java.util.Date; 将时间作为一个整体使用.处理时,使用Date类较为简便 第二:j ...