【CSDN常见问题解答】Java如何读取XML文件
来源:互联网 发布:参加好声音的网络主播 编辑:程序博客网 时间:2024/05/01 19:16
今天的CSDN常见问题来讲解下在Java中如何读取XML文件的内容。
直接上代码吧,注释写的很清楚了!
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元素属性typeSystem.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())) // 输出codeSystem.out.println("卡号: " + detail.getTextContent());else if ("pass".equals(detail.getNodeName())) // 输出passSystem.out.println("密码: " + detail.getTextContent());else if ("name".equals(detail.getNodeName())) // 输出nameSystem.out.println("姓名: " + detail.getTextContent());else if ("money".equals(detail.getNodeName())) // 输出moneySystem.out.println("余额: " + detail.getTextContent());}}}}catch (Exception e) {e.printStackTrace();}}}
然后我们测试的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
- 【CSDN常见问题解答】Java如何读取XML文件
- 【CSDN常见问题解答】Java中JSON转XML
- xml文件常见问题及解答
- Java如何读取XML文件
- Java如何读取XML文件
- 【CSDN常见问题解答】目录文件编码转换
- 【CSDN常见问题解答】Java多种数据库连接
- 【CSDN常见问题解答】Java多种数据库连接
- 【CSDN常见问题解答】JSON和XML格式互相转换
- 如何通过Java DOM4J读取xml文件
- Java如何读取XML文件 具体实现
- Java如何读取XML文件 具体实现
- 【CSDN常见问题解答】如何避免表单重复提交
- 【CSDN常见问题解答】Java单例模式分析
- 【CSDN常见问题解答】Java Socket通信(TCP/UDP)
- JAVA读取XML文件
- JAVA读取XML文件
- JAVA读取XML文件
- linux静态库和动态库
- my
- vim的shiftwidth、tabstop、softtabstop设置 (我都设置成4了)
- 不修改编译参数去除gcc警告
- C++经典面试题(2)
- 【CSDN常见问题解答】Java如何读取XML文件
- 优先级反转
- Unity3D NGUI系列教程二
- 将solr源码部署到本地机器运行
- python的变量作用域
- IOS字符统计函数
- Unity3D NGUI系列教程三
- 播放器(一)-FFMPEG-SDL-MFC-本地文件
- Redhat 6.1安装图形界面