java使用document解析xml文件
准备工作:
1创建java工程
2创建xml文档。
完成后看下面代码:
import org.w3c.dom.*;import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory;public class Main {public static void main(String[] args) throws Exception {//创建一个文档解析器工厂DocumentBuilderFactory fac= DocumentBuilderFactory.newInstance();//用上面的工厂创建一个文档解析器DocumentBuilder builder=fac.newDocumentBuilder();//用上面的文档解析器解析一个文件放到document对象里Document doc=builder.parse("src/server.xml");//获取文档中节点名称为Listener的所有节点,并返回一个节点集合NodeList listenerList=doc.getElementsByTagName("Listener");System.out.println("一共有"+listenerList.getLength()+"个节点");//遍历整个集合(把所有标签名为Listener的节点一个一个拿出来for (int i=0;i<listenerList.getLength();i++){System.out.println("===========这是第"+(i+1)+"个listener节点的开始:===========");//把集合里的每一个listener节点分别拿出来Node node=listenerList.item(i);//再把上一个节点中的所有属性拿出来NamedNodeMap nodeMap= node.getAttributes();System.out.println("第"+(i+1)+"个节点一共有"+nodeMap.getLength()+"个属性");//遍历所有属性for(int j=0;j<nodeMap.getLength();j++){Node node1=nodeMap.item(j);System.out.println("第"+(j+1)+"个属性的名称是"+node1.getNodeName());System.out.println("第"+(j+1)+"个属性的值是"+node1.getNodeValue());} //获取节点的所有子节点,注意会把所有换行符也解析为子节点 NodeList childNode=node.getChildNodes(); //遍历所有子节点 for(int k=0;k<childNode.getLength();k++){ if(childNode.item(k).getNodeType()==Node.ELEMENT_NODE){ //这个过滤条件是只将标签节点保留(换行符的节点就删去) }System.out.println("===========这是第"+(i+1)+"个节点的结束:===========");}} }
为了方便记忆,在这里拆解一下。我们的目的是解析一个xml文档,所以就需要一个工具。这个工具就叫做DocumentBuilder类的对象,那么这个工具怎么来的呢?是从工厂里面生产出来的,那么工厂怎么来的呢?就得先创建一个工厂:DocumentBuilderFactory。在本例中解析了xml文档中所有名为Listener标签的所有属性。
本人其实非常渴望研究更深入的东西,但现在实在是刚毕业,么办法,所以只能研究研究一些场景怎么用,怎么解析xml文档,至于到底内部是如何实现的,希望各位读者有时间一定要深究下去,这里可能涉及到java的动态代理和工厂模式。
注意:1.<book>红楼梦</book>,当获取到book节点时,其节点名称是book,值是null!!!。因为解析过程中把红楼梦作为book节点的子节点解析。所以要想获取红楼梦,就必须在book节点处获取第一个子节点。也可以用book节点获取textContent(获取该节点下及其子节点孙节点所有的文本节点内容)。
转载于:https://www.cnblogs.com/xiaoao/p/9612928.html
java使用document解析xml文件相关推荐
- 使用document解析xml文件
在慕课上课时,看到可以使用document来解析xml文件,把上课的代码放出来,先记录一下. 大概步骤如下: 1.使用DocumentBuilderFactory 创建对象后再创建DocumentBu ...
- 【java】jdom解析xml文件
java中有四种分别解析xml文件.分别是,DOM,SAX,DOM4J,JDOM四种.我第一篇就介绍用Jdom解析XML.本人觉得这四种学习其中一种即可.其余三中解析思想差不了多少.况且这四种介绍优缺 ...
- java使用DOM4j解析XML文件
1.简介 dom4j是java中的XML API,性能优异.功能强大.开放源代码. 也是所有解析XML文件方法中最常用的! 2.代码实操 准备需要j的ar包添加到lib目录下,dom4j-2.1.1. ...
- Java中DOM4J解析xml文件浅析
DOM4J解析它是JDOM的一种智能分支.它合并了许多超出基本XML文档表示的功能,包括集成的XPath支持.XML Schema支持以及用于大文档或流化文档的基于事件的处理.它还提供了构建文档表 ...
- java中DOM解析xml文件
本文介绍了如何利用DOM(即Document Object Model文档对象模型)解析xml文件. 首先有一个xml文件: <?xml version=\"1.0\" en ...
- 最简单的Document解析xml文件
解析项目中的person.xml文件 Java代码块 package com.test1;import org.w3c.dom.Document; import org.w3c.dom.Node; i ...
- java sax解析xml_【转】java使用sax解析xml文件
从下面这个url搬运.http://hck.iteye.com/blog/1175762 不过程序略有改动. 关于sax(搬自百科) SAX,全称Simple API for XML,既是指一种接口, ...
- 在java中在线解析XML文件内容
这里的天气属性有很多,可以根据自己的需求获取天气属性 这里用到了org.json的jar包,因为要使用XML属性解析数据,还有alibab.JAONObject的jar包 /*** 天气预报-更新* ...
- java document解析xml_[XML]在Java中用Document解析XML实例
------showByCondition输出结果------- e01 name:张三 tel:5128 email:txq512@sina.com e02 name:meixin tel:5252 ...
- java在线打开xml文件_java实现简单解析XML文件功能示例
本文实例讲述了java实现简单解析XML文件功能.分享给大家供大家参考,具体如下: package demo; import java.io.File; import java.io.IOExcept ...
最新文章
- rot90--矩阵旋转
- 根据ip地址获得天气预报
- python连接高斯数据库_Python加载数据并执行多高斯fi
- RegularExpressions(2) RegularExpressions 支持的正则表达式语法
- C++中 vector(容器)的用法
- f2fs学习笔记 - 1. f2fs概述
- php程序的完整路径和文件名,php从完整文件路径中分离文件目录和文件名的方法...
- PPT设置自动生成页码
- Vue3 中定义ts 对象
- 联想台式机Windows 7系统设置双显示器输出
- 春江水暖鸭先知,不破楼兰誓不还
- 基于 ZYNQ 的无线超声数据传输及显示系统的实现
- 【VisionMaster 行业应用案例】第二讲 多相机定位引导应用
- HiPER月光网吧宽带安全网关接入解决方案(转)
- NVIDIA NCCL 源码学习(九)- 单机内ncclSend和ncclRecv的过程
- 隆重推荐Gloo:旨在成为您房间装饰亮点的时尚无线充电站
- 背靠百度,度小满金融越来越稳
- uniapp使用输入框固定在底部键盘弹起把输入框挡住问题
- mysql企业备份工具(MEB)之mysqlbackup安装及使用
- Python,地理地图可视化:plotly绘制mapbox地图城市中心点经纬度marker标记
热门文章
- RabbitMQ三种Exchange
- scope=“prototype”和scope=“session”
- eclipse svn设置忽略文件
- Struts2---ActionContext和ServletActionContext小结
- 内层元素设置position:relative后父元素overflow:hidden overflow:scroll失效 解决方法
- mysql与nagios的结合使用
- STL 算法罗列 (转)
- vb集合类接收子类事件时,给集合类赋值应注意的一个定义
- 2021-08-25
- 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [9] 决策树