how2j.cn

-->
下载区
文件名 文件大小
jsoup-1.12.1.jar 387k
jsoup.rar 357k

解压rar如果失败,请用5.21版本或者更高版本的winrar

点击下载 winrar5.21
步骤 1 : 什么是xml   
步骤 2 : 常见的 xml   
步骤 3 : 什么是 html   
步骤 4 : html 和 xml 的关系   
步骤 5 : 解析   
步骤 6 : xml 的解析的几种方式   
步骤 7 : jar   
步骤 8 : 示例   
步骤 9 : 可运行项目   

xml 是可扩展标记语言的缩写: Extensible Markup Language。
举个例子就像下面这样:
<root> <e1> text 1</e1> </root>
<root>
  <e1> text 1</e1>
</root>
比如做 web 应用开发,需要配置 web.xml,就是个典型的 xml文件。
它里面就有这些元素: web-app, servlet, servlet-name, servlet-class 这些。

注: 什么是元素? 像这样的格式就是一个元素 : <元素名称> 元素内容 </元素名称>。 比如: <servlet-name>HelloServlet</servlet-name> 就是 servlet-name 元素。
<web-app> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
<web-app>
 
    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>HelloServlet</servlet-class>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
 
</web-app>
html HyperText Markup Language的缩写,超文本标记语言
下面这段就是 一段 html。
不了解 html ,欢迎学习 html 系列教材:第一段html代码
<html> <body> <p>Hello HTML</p> </body> </html>
<html>
  <body>
    <p>Hello HTML</p>
  </body>
</html>
步骤 4 :

html 和 xml 的关系

edit
html 可以简单看成是 xml 的一个子集。 html 用的都是一些预先定义的元素,如 <html>, <a>, <body>, <table> 。 而 xml 什么元素都可以自定义: 如 <a> , <b>, <aabb> 。
既然 html 是 xml 的子集,那么解析起来就和 xml一样了,下面我们就来谈 xml的解析就可以了。
步骤 6 :

xml 的解析的几种方式

edit
1. java 本身自带对 xml 的解析。在 javax.xml 这个包下,非常难用,难用到想吐。 这种方式叫做 sax/dom
2. 因为 java 自带的很难用,所以就出现了更方便的第三方工具 dom4j, 解析效率大大提高了。
3. 现在又出现了更方便的 jsoup, 我们就会讲解如何用 jsoup 来解析 xml。
jsoup 也是个第三方工具,所以要使用,首先要下载jar, 在右上角:jsoup-1.12.1.jar。
一下代码,就可以把 一段html:

<html><body><p>Hello HTML</p></body></html>

里的 p 元素的内容 Hello HTML 取出来了。

1. 把文本解析成 Document 对象, Document 对象就代表整个 xml 文档。

Document doc = Jsoup.parse(html);

2. 获取所有的 p 元素。

Elements as= doc.getElementsByTag("p");

3. 遍历 所有的 p 元素 (这里其实只有一个), 打印其内容

for (Element e : as) {
System.out.println(e.text());
}
示例
package cn.how2j.jsoup; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class Test { public static void main(String[] args) throws Exception { String html = "<html><body><p>Hello HTML</p></body></html>"; Document doc = Jsoup.parse(html); Elements as= doc.getElementsByTag("p"); for (Element e : as) { System.out.println(e.text()); } } }
package cn.how2j.jsoup;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class Test {

	public static void main(String[] args) throws Exception {
		String html = "<html><body><p>Hello HTML</p></body></html>";
		Document doc = Jsoup.parse(html);
		
		Elements as= doc.getElementsByTag("p");
		for (Element e : as) {
			System.out.println(e.text());
		}

	}
}
在右上角有本知识点对应的可运行项目下载 ,实在自己搞不出来,就下载解压出来比较一下。


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2020-11-08 有这个工具,是不是也可以拿java写爬虫了?
FARO_Z

rt




1 个答案

now2iava
答案时间:2021-04-21
当然可以。爬虫不过就是数据获取,数据筛选,数据入库。什么语言都能写,不只是python



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2020-01-15 内容引起舒适
hx1176406648

看过xml dom 教程,里面是用 js进行解析, java解析还真不知道




1 个答案

西楼666
答案时间:2020-07-03
对呀,这是典型的JS获取dom的写法



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到








提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 JAVA 应用-jsoup-简介 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图