源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Java如何读取XML文件 具体实现

  • 时间:2021-06-04 19:57 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Java如何读取XML文件 具体实现
今天的CSDN常见问题来讲解下在Java中如何读取XML文件的内容。 直接上代码吧,注释写的很清楚了!
[u]复制代码[/u] 代码如下:
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();   }  } }
然后我们测试的XML文件(test.xml)要放在项目工程的根目录下,其内容是:
[u]复制代码[/u] 代码如下:
<?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>
[b]直接运行代码,输出:[/b] 根元素:Accounts 找到一篇账号. 所属区域: type1. 卡号: 100001 密码: 123 姓名: 李四 余额: 1000000.00 找到一篇账号. 所属区域: type2. 卡号: 100002 密码: 123 姓名: 张三 余额: 1000.00
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部