DOM解析xml

XML解析之DOM解析 xml文件的DOM解析 阅读详情

java解析xml方法:DOM,SAX,DOM4J,JDOM

本文介绍DOM方法解析xml文件

常用的结点类型
节点类型 NodeType NamedConstant nodeNamenodeValue
Element ELEMENT_NODEelement namenull
Attr ATTRIBUTE_NODE属性名属性值
Text TEXT_NODE #text 节点内容
代码:

package com.imooc.dom.test;

import java.io.IOException;


import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class DomTest {
	
	public static void main(String[] args) {
		//创建一个DocumentBuilderFactory对象
		DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
		DocumentBuilder db;
		try {
			//创建一个DocumentBuilder对象
			db = dbf.newDocumentBuilder();
			//通过DocumentBuilder对象的parse方法加载xml文件到当前项目下
			Document document=db.parse("book.xml");
			//获取所有book结点集合
			NodeList bookList=document.getElementsByTagName("book");
			//通过NodeList的getLength()方法获取bookList的长度
			System.out.println("一共有"+bookList.getLength()+"本书");
			//遍历每一个book结点
			for(int i=0;i<bookList.getLength();i++){
				System.out.println("=========下面开始遍历第"+(i+1)+"本书的内容=========");
				//通过item(index)方法获取一个book结点,NodeList的索引值从0开始
				Node book=bookList.item(i);
				//获得book结点的所有属性集合
				NamedNodeMap attrs=book.getAttributes();
				System.out.println("第"+(i+1)+"本书共有"+attrs.getLength()+"个属性");
				//遍历book的属性
				for(int j=0;j<attrs.getLength();j++){
					//通过item(index)方法获取book结点的某个属性
					Node attr=attrs.item(j);
					//获取属性名
					System.out.print("属性名:"+attr.getNodeName());
					//获取属性值
					System.out.println("--属性值:"+attr.getNodeValue());
				}
				
//				//前提:若已知book只有一个id属性
//				//将book结点强制类型转换成Element
//				Element book=(Element) bookList.item(i);
//				//通过getAttribute("id")方法获得属性值
//				String attValue=book.getAttribute("id");
//				System.out.println("id的属性值为:"+attValue);
				
				//解析book结点的子节点
				NodeList childNodes=book.getChildNodes();
				System.out.println("第"+(i+1)+"本书共有"+childNodes.getLength()+"个子节点");
				//遍历childNodes获取每个子节点的结点名和结点值
				for(int k=0;k<childNodes.getLength();k++){
					//区分element类型和text类型的Node
					Node child=childNodes.item(k);
					if(child.getNodeType()==Node.ELEMENT_NODE){
						//获取element类型的结点名
						System.out.print("第"+(k+1)+"个结点名:"+child.getNodeName());
						//获取element类型的结点值,冰与火之歌看成是name的子节点
//						System.out.println("--节点值是:"+child.getFirstChild().getNodeValue());
						System.out.println("--节点值是:"+child.getFirstChild().getTextContent());
					}
				}
				System.out.println();
				System.out.println("=========结束遍历第"+(i+1)+"本书的内容=========");
			}
		} 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();
		}
	}

}



用Python实现单层感知器:5分钟搞定逻辑与/或/异或分类(附避坑指南) 本文通过Python代码实战,详细讲解了单层感知器的核心原理与实现步骤,5分钟内即可完成逻辑与、或运算的分类任务。文章深入剖析了单层感知器的能力边界,解释了其无法解决异或(XOR)等线性不可分问题的根本原因,并提供了学习率设置、权重初始化等关键避坑指南,帮助初学者直观理解神经网络的基础。 阅读详情

相关推荐

Java8对接三方流式接口,并实时输出(GPT)

【代码】Java8对接三方流式接口,并实时输出(GPT)

m0_58617940的博客 1726

XML解析之DOM解析详解

一、概念 xml文件多用于信息的描述,所以在得到一个xml文档之后按照xml中的元素取出对应的信息就是xml的解析。Xml解析有两种方式,一种是DOM解析,另一种是SAX解析,两种操作的方式如图。       二、DOM解析   基于DOM解析的xml分析器是将其转换为一个对象模型的集合,用树这种数据结构对信息进行储存。通过DOM接口,应用程序可以在任何时候访问xml文档中的任何...

a1353206432的博客 2万+

常见的AXI总线仲裁器概述-AXI协议理解(一)

SoC 设计广泛采用共享总线式的片上通信,其中的仲裁器是共享总线的关键技术之一。AMBA AXI 总线协议以高性能、高频率的系统设计为目标,适合高带宽、低延迟的系统设计,可以达到高频率的操作而不需要复杂的总线桥,满足众多部件的接口要求,具备高度灵活的互联结构,并且向后兼容 AHB 和 APB 接口。

Paul 安的博客 1万+

DOM方式:解析XML

DOM是Document Object。

zxf347085420的博客 1413

(ZOS-API)Matlab控制ZEMAX软件调整光学系统某镜面位姿

所用软件的版本:MatlabR2022a, Zemax OpticStudio2024R1交互扩展功能,Zemax和可以同时打开,操作会比较方便在ZEMAX软件中,调整次镜位置通常有两种方法:1.在次镜前后各添加一个坐标间断面,并修改其“偏心X”“偏心Y”等参数来调整次镜的位姿;2.或者直接在次镜属性选项中设置相关数值。这两种方法对Zernike系数的采集结果无显著影响。

ecilifurt的博客 911

OI 生涯回忆录 《Pilgrimage》

前言 于 NOI2020 后写下本文。 本文简单提及了在写作时尚能回忆起来的,在我的 OI 生涯中对我的影响重大的人、事、比赛等。 写作本文,旨在在回忆允许的范围内,对 OI 生涯进行一定程度上的梳理,总结。 开端 入门 我最早接触计算机程序设计,是在小学。 那时候,我的数学成绩不错,就被老师推荐去学习编程。 就这样,我在局前街小学的何静老师的指导下,走上了编程的道路。 小学时的编程,与其说是 “竞赛” ,不如说是 “兴趣班” 。 当时,包括我在内,很多小孩子天性是浮躁的。支撑我对着无聊的代码学下去的,并不

cz_xuyixuan的博客 1万+

QT之XML文件解析DOM

QT使用DOM方式解析XML文档

qq_39295354的博客 1621

【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏5(附项目源码,完结)

本期是本项目的最后一篇,主要内容是配置环境、生成不同敌人、结束重开。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2569

dom解析xml

Jaxp介绍 是开发包, 获得jaxp中dom解析器的步骤 ★java解析xml【dom技术】看原理: xml文件也看成一颗dom树,在内存里面是存在的 Dom特别适合做crud操作 由于加载到内存,所以不太适合操作比较大的文件 <foot>叫元素、标签、节点(叫节点,往往是加载到内存里面去了) dom会将xml中每一个元素、属性、文本,都映射成对应node对象/element对象 ★★★属性通过getattribute()获取,从这个角度讲他不是node节点,...

u014163736的博客 1719

基础入门篇 | YOLOv8 项目【训练】【验证】【推理】最简单教程 | YOLOv8必看 | 最新更新,直接打印 FPS,mAP50,75,95

三个文件搞定YOLOv8【训练】【验证】【推理】🚀🚀🚀

Coding... 2万+

【知识图谱】实践篇——基于知识图谱的《红楼梦》人物关系可视化及问答系统实践:part6基于图谱的问答实现

前序文章:本部分则是整个项目的核心内容——基于图谱的问答。需要实现的是对于“简单问题”进行解析,然后从图谱数据库中查询与该人员及其相关人员信息,返回到前端并显示该人员的基本信息。除此之外,用户可以点击返回的结果人员节点,页面能够显示该用户的个人基本信息。那么现在就开始吧。根据源码实现问答形式,其实是比较简单的。原代码中使用ltp对问题进行分词,选取具有名次词性的关键词进行处理。 ltp配置稍许麻烦,我使用jieba分词工具对问题进行分词,然后再按照原文提取问句中人物及关系,然后构建cypher neo4j查

让算法融入生活,改变生活! 2935

android之dom解析xml

好吧,我们还是来实现这张图的效果,只不过技术我们改为了dom,至于这里的图片上为什么显示的是sax解析,我只能说,哎,没办法,我想偷懒啊。嘿嘿……再看代码结构图:main.xml

梦中一夜下江南 1万+

OpenSpec 完全指南 config.yaml文件

不管是项目内还是全局存放,自定义工作流都要遵守以下规则,否则会导致OpenSpec无法识别,新手一定要记牢:一个文件夹 = 一个工作流:工作流文件夹的名称,就是中schema字段要填写的名称;每个工作流文件夹必须包含:这是工作流的核心定义文件,没有它,OpenSpec无法识别这个工作流;模板文件统一放templates/目录:如果需要自定义生成文件的模板(比如统一的提案模板、任务模板),就放在工作流文件夹下的templates/里,OpenSpec会自动识别;

h a 6 6 6 c k 为 你解决复杂难题! 1417

【XML解析】使用Jaxp对XML进行DOM解析

【前言】    璐小编在之前学习BS的时候接触过XML(请戳:【XML】基础知识初步认识),后来在项目中我们也会遇到XML的配置文件,现在学习Java又遇到对XML的文档内容进行解析。看来对于XML的认知是不断加深的过程~    本篇简介XML解析的方式以及使用Jaxp对XML文档进行dom解析。 【XML解析】     对于XML解析方式,有DOM文档对象模型和SAX两种。前者是

王璐 1612

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

DOM解析XML

XML可以作为一种的简单数据存储。 DOM解析,是将XML中的数据组织成一棵树,树的一个一个节点就是XML文档中的数据。 DOM解析XML流程: 1.建立一个解析器工厂,将来创建解析器。 2.创建XML解析器。 3.创建DOM文档对象,设置doc路径。 4.使用DOM文档对象获取节点列表。 5.将节点列表中的每一个子节点分配给一个节点对象。 6.获取节点的内容。 XML信息:

经典的误导的专栏 838

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

DOM解析XML实例

dom(document object model)是一种用于XML文档的对象模型,可用于直接访问XML文档的各个部分。 dom允许用户遍历文档树,从父节点移动到子节点和兄弟节点,dom的实现常常讲所有的XML节点加载到内存中,较大的文档可能效率较低。 解析步骤: 解析XML文件得到Document对象 操作Document对象的一系列方法取出我们关心的数据 dom这样规

glu_cky的博客 486

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

XML文档解析及用dom解析xml

关于XML DOM模型更重要的参考资源: [url]http://www.w3school.com.cn/xmldom/dom_nodes.asp[/url] 一、前言 用Java解析XML文档,目前有以下方法: 首先是DOM,DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准。DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员...

sunnyday55555的博客 302

使用DOM解析XML

使用DOM解析XML DOM在内存中属于树形结构,当应用程序使用DOM解析时,首先要将读取到程序中的XML文件转换为DOM树,因此使用DOM解析的并不是文件本身,而是读取到内存中的DOM树。 DOM标准接口 在XML解析的过程中,最大的接口为org.w3c.dom.Node接口,在Node接口中提供有如下主要方法: No 返回值 方法名称 描述 1 Node appendChild(Node newChild) 将节点 newChild添加到此节点的子节点列表的末尾 2 NodeList

Nicholas_GUB的博客 774

XML:DOM解析

XML解析 CRUD : create retrieve update delete XML解析方式分为两种:dom和sax dom:(Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的一种方式。 sax: (Simple API for XML) 不是官方标准,但它是 XML 社区事实上的标准,几乎所有的 XML 解析器都支持它。 X...

离开屏幕的光,哪盏灯照亮你的孤独? 300

Dom解析XML文件

public List getPersons(InputStream inStream) throws Exception{ List persons = new ArrayList(); //得到DocumentBuilder对象 DocumentBuilderFa

andrew 1535

Java DOM解析XML

XML在项目开发中经常使用。   XML中的常用术语:   元素(Element):指的是从(且包括)开始标签直到(且包括)结束标签的部分。元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。【Element是Node,但Node不一定是Element】   节点(Node):根据 DOM,XML 文档中的每个成分都是一个节点。其中整个文档是一个文档节点、每个 XML 标签是一个元

Hsing Hsu's Blog 1174

xml文件的DOM解析

DOM模型介绍 bject Model:文档对象模型 Dom解析方法:xml文件解析首先将xml文件加载进内存,然后读取文件中的内容。 在内存将文件以树的结构进行保存,而且树根在上,树枝在下,整个xml文件被封装为 Document对象,文件中的标签节点被封装为Node对象,标签节点中保存的数据被封装为 Text对象。 DOM模型将整个xml文件封装为对象,将文件中的标签和数据封装为对象,利用对象提供的方法完成xml文件内容的读写。 Document: 表示整个文件对象 Node:表示标签对象 Text:表

Vicali的博客 744

XML学习之Dom方式解析XML文件

XML学习之Dom方式解析Xml文件 一、java解析XML概述   1.Xml解析方式分为两种:Dom方式和SAX方式。    (1)、DOM方式:Document Object Model,文档对象模型。这种方式是W3C推荐的处理XML的一种方式。    (2)、SAX:Simple API for XML。这种方式不是官方标准,属于开源社区XML-DEV,   但是几乎所有的XML解

yanyu110991的专栏 3505

xml的dom解析过程详解

 一、        前言用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object Module)称为DOM。Sun公司提供了Java API for XML Parsing(JAXP)接口来使用SAX和DOM,通过JAXP,我们可以使用任何与JAXP兼容的XML解析器

coolwzjcool的专栏 2106

Dom方式解析XML详解

一、Dom解析XML原理 Dom解析方式是把整个XML文件读入内存生成一个Document(org.w3c.dom.Document)对象代表整个XML文件,再把每一个标签解析成相应的对象并生成一棵DOM树,对XML文件的增删查改操作转化为增删查改DOM树中的节点。 优点:对XML文件的CRUD操作很方便 缺点:占用内存大 开发包:Jaxp(sun公司) 二、Dom解析步骤 1

爱生活爱技术 1276
上一篇: 初识xml
下一篇: SAX解析xml
Ce1estial
博客等级 码龄11年 6粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值