使用java解析XML文件的步骤

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 使用java解析XML文件的步骤

以前的时候,也解析过,今天又拿出来解析就让忘记怎么解析了,后来在网上查还有自己想,终于解析出来了,下面就是原XML文件:

accp.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE accp SYSTEM "accp.dtd">
<?xml-stylesheet type="text/css" href="accp.css"?>
<accp>
  <teachers>
    <teacher >
      <name>刘老师</name>
      <age>30</age>
      <degree>硕士</degree>
      <position>Java</position>   
    </teacher>
    <teacher>
      <name>李老师</name>
      <age>28</age>
      <degree>本科</degree>
      <position>.Net</position>   
    </teacher>
  </teachers>
  <students>
    <student>
      <name>高胜寒</name>
      <age>21</age>     
      <grade>Y2</grade>
      <school>北京中心</school>
    </student>
    <student>
      <name>信达雅</name>
      <age>19</age>
      <grade>S2</grade>
      <school>天津中心</school>
    </student>
  </students>
</accp>

还需要一个dtd文件accp.dtd:

<!ELEMENT accp (teachers,students)>
<!ELEMENT teachers (teacher*)>
<!ELEMENT students (student*)>
<!ELEMENT teacher (name,age,degree,position)>
<!ELEMENT student (name,age,grade,school)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT degree (#PCDATA)>
<!ELEMENT position (#PCDATA)>
<!ELEMENT grade (#PCDATA)>
<!ELEMENT school (#PCDATA)>

最后就是解析的代码了:

//解析xml文件
  public static void Test1(){
     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    //从DOM工厂获得DOM解析器
    try {
      DocumentBuilder db = dbf.newDocumentBuilder();
      //解析文档,得到一个dom树
      Document doc = db.parse("accp.xml");
      //得到所有的teacher节点
      NodeList teaList = doc.getElementsByTagName("teacher");
      System.out.println("xml里面共有"+teaList.getLength()+"个老师信息!");
      //循环老师信息
      for (int i = 0; i < teaList.getLength(); i++) {
        Node teacher = teaList.item(i);
        //获取第i个老师的信息的id值并输出
        /*Element element = (Element)teacher;
        String id = element.getAttribute("id");
        System.out.println("id:"+id);*/
        //获取第i个老师元素的所有子元素的名称和值并输出
        for(Node node=teacher.getFirstChild();node!=null;node =node.getNextSibling() ){
          if(node.getNodeType()==Node.ELEMENT_NODE){
            String value = node.getFirstChild().getNodeValue();
            System.out.print("name:"+value+"\t");
          }
        }
        System.out.println();
      }
    } catch (ParserConfigurationException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (SAXException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    
  }

最后看一下运行结果:

相关文章
|
17天前
|
开发框架 供应链 监控
并行开发模型详解:类型、步骤及其应用解析
在现代研发环境中,企业需要在有限时间内推出高质量的产品,以满足客户不断变化的需求。传统的线性开发模式往往拖慢进度,导致资源浪费和延迟交付。并行开发模型通过允许多个开发阶段同时进行,极大提高了产品开发的效率和响应能力。本文将深入解析并行开发模型,涵盖其类型、步骤及如何通过辅助工具优化团队协作和管理工作流。
50 3
|
2天前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
|
4天前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
16 4
|
6天前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
|
6天前
|
Java API Maven
如何使用 Java 字节码工具检查类文件的完整性
本文介绍如何利用Java字节码工具来检测类文件的完整性和有效性,确保类文件未被篡改或损坏,适用于开发和维护阶段的代码质量控制。
|
15天前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
16天前
|
Java
Java开发如何实现文件的移动,但是在移动结束后才进行读取?
【10月更文挑战第13天】Java开发如何实现文件的移动,但是在移动结束后才进行读取?
40 2
|
16天前
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
48 1
|
16天前
|
监控 Java
Java定时扫码一个文件夹下的文件,如何保证文件写入完成后才进行处理?
【10月更文挑战第13天】Java定时扫码一个文件夹下的文件,如何保证文件写入完成后才进行处理?
59 1
|
20天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器

推荐镜像

更多