SAXReader简单实例解析HTML

sax:用于XML和HTML的sax-js sax样式解析器的维护分支 svg / sax 用于XML和HTML的 sax样式解析器的维护分支。 设计时考虑了,但在浏览器或其他CommonJS实现中应该可以正常工作。 这是什么 一个非常简单的工具来解析XML字符串。 流HTML解析器的垫脚石。 一种方便的方式来处理RSS和其他几乎可以但有点破损的XML文档。 这是什么(可能)不是 HTML解析器-这是一个很好的目标,但事实并非如此。 这只是XML。 DOM构建器-您可以使用它来构建XML之外的对象模型,但是并不能做到这一点。 XSLT-没有DOM =没有查询。 100%兼容(某些其他SAX实施)-大多数SAX实施均使用Java进行,其功能远不止于此。 XML验证程序-在严格模式下,它会进行少量验证,但不会进行太多验证。 模式意识XSD事物-模式是恋物癖受虐狂中的一项练习。 认识DTD的事物-提取DTD是一项更大的工作。 关于<!DOCTYP 立即下载

转载自:http://blog.youkuaiyun.com/seayqrain/article/details/5024068#

使用SAXReader需要导入dom4j-full.jar包。

dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。

举例:

xml内容:

<?xml version="1.0" encoding="GB2312"?>  
<data>  
    <row queryDTO.enterpriseId="gfd" queryDTO.loginName="gdfg" queryDTO.state="0"/>  
</data> 

解析:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.tree.AbstractAttribute;

public class ReadXMLTest {
	
	public static void main(String[] args){
		File xmlFile = new File("C:/s.xml");
		FileInputStream fis = null;
		try {
			fis = new FileInputStream(xmlFile);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			System.err.println("File is not exsit!");
		}
		
		SAXReader saxReader = new SAXReader();
		List rowList = null;
		try {
			//生成文档对应实体
			Document doc = saxReader.read(fis);
			//获取指定路径下的元素列表,这里指获取所有的data下的row元素
			rowList = doc.selectNodes("//data/row");
		} catch (DocumentException e) {
			e.printStackTrace();
		}
		
		
		for(Iterator iter = rowList.iterator();iter.hasNext();){
			//获得具体的row元素 
			Element element = (Element)iter.next();
			//获得row元素的所有属性列表
			List elementList = element.attributes();
			for(Iterator iter1 = elementList.iterator();iter1.hasNext();){
				//将每个属性转化为一个抽象属性,然后获取其名字和值
				AbstractAttribute aa = (AbstractAttribute)iter1.next();
				System.out.println("Name:"+aa.getName()+";Value:"+aa.getValue());
			}
							//输出:
							//Name:queryDTO.enterpriseId;Value:gfd
							//Name:queryDTO.loginName;Value:gdfg
							//Name:queryDTO.state;Value:0
			System.out.println(element.getName());
							//输出:
							//row
			// 取得row元素的queryDTO.enterpriseId属性的值
			System.out.println(element.attributeValue("queryDTO.enterpriseId"));
							//输出:
							//gfd
			//如果element下有子元素,(类似width="**"),要想获得该子元素的值,可以用如下方法
			System.out.println(element.elementText("width"));//因为没有,所以输出为null。
		}
		
	}
}

rowlist是用Xpath表示的,可以参考文章:http://blog.youkuaiyun.com/hekaihaw/article/details/54376656 


COMSOL 6.4安装全攻略:安装包获取、许可证配置与避坑指南 多物理场仿真是现代工程与科研中不可或缺的技术手段,其核心原理在于将电磁、结构、流体、传热等不同物理过程的耦合效应置于统一环境中求解,从而真实模拟复杂系统行为。这类仿真平台能大幅提升产品研发与设计验证效率,广泛应用于电子散热、声学分析、电力设备等领域。在部署最新版本仿真软件时,安装与许可证配置往往成为影响工作效率的关键环节。本文系统梳理COMSOL 6.4在Windows平台的安装全流程,涵盖安装包获取、系统依赖准备、许可证配置、常见报错排查等实用经验,帮助工程师与科研人员一次性完成环境搭建,把更多时间投入真 阅读详情

相关推荐

HyperLynx实战:手把手教你搞定DDR4信号完整性仿真(附ODT与终端电阻配置避坑)

本文详细介绍了使用HyperLynx进行DDR4信号完整性仿真的实战技巧,重点解析了ODT配置与终端电阻优化的黄金法则。通过模型准备、拓扑构建、ODT扫描等关键步骤,帮助硬件工程师规避常见设计陷阱,提升高速数字电路设计的效率与可靠性。

weixin_30861797的博客 640

SAXReader的使用

一:导入依赖 <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> 假设xml文件内容如下 <?xml version="1.0" encoding="utf-8"?> <data> <he

weixin_43303455的博客 7961

C语言—for循环打印矩形,正三角形,倒三角形,九九乘法,等腰三角形,倒着的等腰三角形(简易版代码)(重点考察for循环嵌套)

本章节教大家如何利用for循环打印正三角形,倒三角形,九九乘法表及等腰三角形(简易版代码)说明:1、循环语句的循环体内又包含另一个完整的循环结构,称为循环结构的嵌套。内嵌的循环语句中还可以再嵌套循环结构,这样就形成多重循环结构的嵌套。2、for 语句、while 语句和 do-while 语句都允许嵌套。三种循环语句可以相互嵌套。3、内层的循环语句必须完全被包含在外层的循环体中,不能发生交叉。

m0_63501145的博客 1695

详细介绍 SAXReader类

在这个例子中,我们使用SAXReader来读取"books.xml"文件,并提取每本书的标题和作者信息。我们首先获取XML文档的根元素,然后遍历所有的book元素,提取其中的title和author元素的值,并将它们输出到控制台上。- 这行代码使用SAXReader从名为"books.xml"的文件中读取XML数据,并将其解析为一个Document对象。- 这行代码获取了根元素下所有名为"book"的子元素,并将它们存储在一个Element列表中。- 这行代码获取了XML文档的根元素,也就是。

qq_61818443的博客 2247

R语言的下载、安装及环境配置(Rstudio&VSCode)

R for Windows是一个免费的用于统计计算和统计制图的优秀工具,是R语言开发工具。它拥有数据存储和处理系统、数组运算工具(其向量、矩阵运算方面功能尤其强大)、完整连贯的统计分析工具、优秀的统计制图等功能。提供的图形界面,可以在其中访问控制台、创建脚本或安装其他软件包。

zegeai的博客 2万+

python:numpy分享(保姆级教程)

创建数组:array和ndarray、rand()、randn()、arange()、randint()、uniform()astype()基础函数:ceil()、floor()、rint()、argmax()、argmin()、cumsum()、cumprod()numpy 是数据分析必不可少的第三方库,具有高性能的特点,多用于做数组分析。内置函数:ceil()、floor()、rint()主要用于数组计算,支持多维数组。array和ndarray。比较函数:all、any。去重函数:unique。

sulin123123的博客 1730

XML学习总结(三)——SAXReader解析xml文件数据

第一种方式:1. 加入jar包注意    1.1 xml文件解析时编码要一致(默认UTF-8),出现报错可以在记事本中另存为来更改编码格式。     2.2 jar包两个都需要。2.gao.xml数据如下:&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;emps&gt; &lt;emp&gt; &lt;id&gt;1&lt;/id&g

Gorden的博客 2万+

海康VisionMaster与西门子Smart 200进行S7通信

海康VisionMaster与西门子Smart 200进行S7通信

haier123888的博客 8180

SAXReader解析xml文件

dom4j是Java的XML API,作用是读写XML文件 第1步:导入maven依赖 <!--测试SaxReader解析xml文件--> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> 第2步:编写a.xml &l

weixin_40964170的博客 2525

R语言做一个 GM (1,1)灰色预测模型

累加生成是GM(1,1)模型的另一个重要步骤,它通过构造累加生成序列,把非线性非平稳时间序列转化为线性平稳时间序列。GM(1,1)是一种基于灰色系统理论的预测模型,通常用于中小样本的非线性、非平稳时间序列数据分析。灰色预测模型的核心是灰度处理,将原始时间序列转化为灰色时间序列。这里使用R语言中的diff函数对时间序列进行一次差分,然后对结果取累加和得到灰度序列。以上是GM(1,1)灰色预测模型在R语言中的实现步骤。需要注意的是,GM(1,1)模型适用于中小样本的时间序列预测,对于长期预测效果可能较差。

Mrrunsen的博客 3842

分布式系统中的“无状态”和“有状态”详解

有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如 tomcat 中的 session。例如登录:用户登录后,我们把登录者的信息保存在服务端 session 中,并且给用户一个 cookie 值,记录对应的 session。然后下次请求,用户携带 cookie 值来,我们就能识别到对应 session,从而找到用户的信息。

AI天才研究院 2万+

SAXReader解析xml

SAXReader解析xml文件 要使用SAXReader解析xml文件,就需要导入两个架包:版本自己选择。 (1)dom4j-1.6.1.jar dom4j下载地址 (2)jaxen-1.1-beta-6.jar jaxen下载地址 项目的搭建如下: 项目的配置文件web.xml: <?xml version="1.0" encoding="utf-8"?> &lt...

weixin_45003796的博客 1374

RK3588 实战级 YOLOv5 Android 全解析:NPU 量化 + 多线程 + 跟踪算法,源码一次买齐

本文将带你完成一个完整的AI视觉项目:在搭载RK3588芯片的Android开发板上运行实时目标检测与跟踪应用。实战目标:成功运行官方YOLOV5摄像头实时检测案例技术深度:深入理解RKNN开发框架和源码实现核心技能:掌握NPU推理、多线程并发、目标跟踪等关键技术。

FJN110的博客 157

读取HTML文件出错

读取HTML文件(采用org.dom4j.*): SAXReader saxReader = new SAXReader(); Document document = saxReader.read(new File(filename)); 获取document对象时控制台报错: [color=red]The entity name must immediately foll...

xiexiaoming052的博客 297

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

sax解析+拼接字符串

########################################Action package com.ths.projects.xzxk.web.syssb.wysb; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; im

9347的专栏 710

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

java kml_Java(Android)解析KML文件

package com.test.parsekml;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.Iterator;import java.util.zip.ZipEntry;import java.u...

weixin_39962758的博客 380

day10_XML的解析和生成

什么是XML? 1.XML是一个可扩展的标记语言 2.XML中没有预定义的标记,都需要自行定义 3.XML中有且只有一个根元素 4.XML和HTML的区别: 4.1.XML中没有预定的标记,但HTML中都是预定的标记 4.2.设计的目的不同,HTML主要是为了展示数据的,焦点数据的外观 XML主要是为了存储或传输数据,焦点是数据 解析XM

Sunny369888的博客 357

jsoup和dom4j

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="jdbcUrl" value="${url}" /> <property name="driverClass" value="${driver}" /> <property name="user" value="${username}" /> <property na

weixin_53731984的博客 500

03-XML解析

XMLxml解析xml文件形式具体使用 xml解析 XML解析 * XML简介:eXtensible Markup Language(可扩展标记语言) * XML与HTML区别 * XML没有预定义标签,均为自定义标签,HTML相反 * XML用来传输和存储数据,HTML用来显示数据 xml文件形式 这里是创建的一个Student类,里面有三个属性:id name age <?xml version="1.0" encoding="UTF-8"?>

potato_grow的博客 155

java读取server.xml_java解析XML

XMl (eXtensible Markup Language)可扩展标记语言 属于数据存储语言XML的特点:可以在任何应用程序中读取数据极其简单简化数据共享和数据传输XML和HTML的区别:HTML 旨在显示信息,而 XML 旨在传输信息。XML要求所有的标记都要成双成对出现,并区分大小写,而HTML标记不区分大小写,(DOM解析方式)需要在工程中导入dom4j.jar包dom4j是一个Java...

weixin_36252618的博客 307

XML入门介绍

XML 简介 /* *一.概念:Extensible Markup Language 可扩展标记语言 *(1)可扩展:标签都是自定义的 *(2)功能:存储数据。<1>配置文件 <2>在网络中传输 *(3)xml和html的区别: 3.1、xml标签都是自定义的,html标签都是预定义的 3.2、xml语法严格,html语法松散。 3.3、xml是存储数据的,html是展示数据的。 *(4)w3w:万维网联盟——xml的技术维护组织 二.语法: 1.基本语法 1.2 xml文档后缀

戌的博客 198

java html xml,java解析XML和java解析HTML | 学步园

一。dom4j 解析xml:俩jar包:dom4j-1.6.1.jar 和jaxen-1.1-beta-6.jar/*** java解析xml文件各个节点信息** @author Jeelon* @param string* :解析的文件名*/private static void getXmlInfo(String string) {SAXReader reader = ...

weixin_33218612的博客 220

xml解析java对象_读取xml并转换为Java对象

XML 被设计用来传输和存储数据。主要用途: 1.XML 把数据从 HTML 分离如果你需要在 HTML 文档中显示动态数据,那么每当数据改变时将花费大量的时间来编辑 HTML。通过 XML,数据能够存储在独立的 XML 文件中。这样你就可以专注于使用 HTML 进行布局和显示,并确保修改底层数据不再需要对 HTML 进行任何的改变。通过使用几行 JavaScript,你就可以读取一个外部 XML...

weixin_28746327的博客 1563

java解析XML和java解析HTML

一。dom4j  解析xml:   俩jar包:dom4j-1.6.1.jar 和jaxen-1.1-beta-6.jar   /** * java解析xml文件各个节点信息 * * @author Jeelon * @param string * :解析的文件名 */ private static void getXmlIn

JeelonXu.feng 7388

万能笔记本,你值得拥有;(XML)

Xml 文章目录XmlXML 的特点XML 的作用XML 和 和 HTML 之间的差异XML 基本语法XML 元素XML 命名规则四种解析 XMLDOM4J的使用思维导图葵花落语 XML 指可扩展标记语言(EXtensible Markup Language) XML 没有预定义标签,需要自行定义标签 提示:以下是本篇文章正文内容,下面案例可供参考 XML 的特点 XML 数据以纯文本格式存储 实现不同应用程序之间的数据通信 实现不同平台间的数据通信 实现不同平台间的数据共享 使用 XML 将

葵花田 272

Android解析HTML网页数据 第一个方法dom4j(二)

抓取网页上的数据,然后使用安卓原生代码显示出来,或者说借用网页数据,用自定义的View显示。 这一次使用dom4j-1.6.1.jar库,获取并解析数据。(dom4j百度云下载地址:http://pan.baidu.com/s/1jHHa6O2) 这里是使用dom4j解析字符串(html格式): try { Document doc = DocumentHelper.parse...

weixin_38166557的博客 125
上一篇: 日常错误
下一篇: dom4j解析xml文档全面介绍
Beeman_xia
博客等级 码龄10年 18粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值