步骤 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>
<body>
<p>Hello HTML</p>
</body>
</html>
<html> <body> <p>Hello HTML</p> </body> </html>
html 可以简单看成是 xml 的一个子集。 html 用的都是一些预先定义的元素,如 <html>, <a>, <body>, <table> 。 而 xml 什么元素都可以自定义: 如 <a> , <b>, <aabb> 。
既然 html 是 xml 的子集,那么解析起来就和 xml一样了,下面我们就来谈 xml的解析就可以了。
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写爬虫了?
2020-01-15
内容引起舒适
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|