前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用JAXP对XML文档进行DOM解析

使用JAXP对XML文档进行DOM解析

作者头像
MonroeCode
发布2018-01-12 18:10:45
1K0
发布2018-01-12 18:10:45
举报

【前言】

   璐小编在之前学习BS的时候接触过XML(请戳:【XML】基础知识初步认识),后来在项目中我们也会遇到XML的配置文件,现在学习Java又遇到对XML的文档内容进行解析。看来对于XML的认知是不断加深的过程~

   本篇简介XML解析的方式以及使用Jaxp对XML文档进行dom解析。

【XML解析】

    对于XML解析方式,有DOM文档对象模型和SAX两种。前者是官方的规范,后者则是XML社区事实上的标准。根据它们各自的优缺点来斟酌使用哪种方式。

    现在已经有很多开发包来帮助我们对XML进行解析,比如sun公司的Jaxp,它由org.w3c.dom、  org.xml.sax、javax.xml 等开发包组成。也有后来从Jdom分支出去的团队开发的dom4j,dom4j在实践中使用较多,下篇博客会做简要介绍,看官不要错过~                   

【Jaxp对XML文档进行DOM解析】

    在Jaxp和dom4j之间,前者是sun公司的标准,后者则是实际开发中比较常用的开发包。但是我们还是有必要了解一下官方的标准,所以下面分享使用dom方式对XML文档进行读取。(如看官对增删改代码有需要,小编后续更新)

     ❀使用dom方式,创建工厂,得到dom解析器,使用解析器解析文档这三个步骤是基础,在此基础上再写具体读取XML文档的哪些节点内容的代码。       

[java] view plain copy

  1. import javax.xml.parsers.DocumentBuilderFactory;  
  2. import org.junit.Test;  
  3. import org.w3c.dom.Document;  
  4. import org.w3c.dom.Node;  
  5. import org.w3c.dom.NodeList;  
  6. //dom方式对XML文档进行CRUD
  7. public class Demo3 {  
  8. //读取XML文档  <书名>Java开发</书名> 节点的值
  9. @Test
  10. public void read1() throws Exception{  
  11. //1.创建工厂
  12.         DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();          
  13. //2.得到dom解析器
  14.         DocumentBuilder builder=factory.newDocumentBuilder();  
  15. //3.解析XML文档,得到代表文档的Document
  16.         Document document=builder.parse("src/book.xml");  
  17. //得到标签的节点
  18.         NodeList list=document.getElementsByTagName("书名");  
  19.         Node node = list.item(1);  
  20. //读取节点的值
  21.         String content=node.getTextContent();  
  22.         System.out.println(content);  
  23.     }  
  24. }  

       运行结果就是你所要读取的节点书名的值。小编使用Junit运行,结果值就是书名,此处不再贴图~

【小结】

    对于同一个知识点的学习反复又一次深入,了解了不同的侧面,对一个点的认识也再不断的完善。下篇文章简述使用dom4j对XML文档的解析,尽请期待。

    本文如述偏颇,请看官评论指正,谢谢您的阅读~

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【前言】
  • 【XML解析】
  • 【Jaxp对XML文档进行DOM解析】
  • 【小结】
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档