XML

XML与HTML解析:Jsoup与数据提取
本文介绍了XML与HTML的区别,如XML的自定义标签和严格的语法,主要用作数据存储,而HTML则用于展示数据。重点讨论了Java的HTML解析库Jsoup,包括其快速解析HTML文档的方法,如Document对象、Element对象的操作,以及通过选择器和XPath进行数据提取。此外,还提及了XML的约束和解析器如JAXP、DOM4J。

可扩展标记语言,可扩展:标签都是自定义的。

与HTML区别

xml标签自定义,HTML预定义
语法严格,语法松散
存储数据,展示数据

功能

存储数据:1.配置文件 2. 在网络中传输

语法

1.基本语法:
第一行必须定义为文档声明<?xml version='1.0' ?>
后缀名。xml
文档中有且仅有一个根标签
属性值必须使用引号(单双都行)引起来
标签必须正确关闭
标签名称区分大小写
2.组成部分

  1. 文档声明
    格式:<?xml 属性列表 ?>
    属性列表:version:版本号,必须的 encoding:编码方式,告知解析引擎当前文档使用的字符集,默认ISO-8859-1。gbk能用中文。是否独立:standalone:取值yes no 是否依赖其他文件
  2. 指令(了解)结合CSS的
  3. 标签:名称是自定义的,命名规则:可有字母数字等,不宜数字标点开始不含空格不能以xml开始
  4. 属性:id属性值唯一
  5. 文本:CDATA区:该区域内容会被原样展示<![CDATA[内容]]>
  6. 约束:规定xml文档的书写规则
    作为框架的使用者(程序员
    1.能够再xml中引入约束文档
  7. 能够简单读懂约束文档
    分类:1.DTD:简单 2.schema:复杂
    引入DTD文档到xml文档中:内部DTD,外部DTD
    本地:< !DOCTYPE 跟标签名 SYSTEM "dtd文件的位置“ > (尖括号前后是没有空格的)
    网络:< !DOCTYPE 跟标签名 PUBLIC “dtd文件名” "dtd文件的位置URL“ >
    schema .xsd
    xml常见的解析器:JAXP、DOM4J优秀、Jsoup:HTML解析器、pull

Jsoup:

Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。
快速入门:步骤1. 导入jar包 2. 获取Document对象 3.获取对应的标签element对象 4. 获取数据

对象的使用

  1. Jsoup:工具类,可以解析HTML或xml文档,返回Document
    parse(File in,String charsetName):解析xml或html文件的
    parse(String html):解析xml或html字符串
    parse(URL url,int timeoutMillis):通过网络路径获取指定的html或xml文档对象
  2. Document:文档对象。代表内存中的dom树
    获取element对象:
    getElementsById(String id)根据id属性值获取唯一属性值
    getElementsByTag(String tagName)根据标签名称获取元素对象集合
    getElementsByAttribute(String key)根据属性名称获取元素对象集合
    getElementsByAttributeValue(String key,String value)根据对应的属性名和属性值获取元素队形集合
  3. Elements:元素Element对象的集合。可以当作ArrayList< Element >来使用
  4. Element:元素对象
    1. 获取子元素对象
      getElementsById(String id)根据id属性值获取唯一属性值
      getElementsByTag(String tagName)根据标签名称获取元素对象集合
      getElementsByAttribute(String key)根据属性名称获取元素对象集合
      getElementsByAttributeValue(String key,String value)根据对应的属性名和属性值获取元素队形集合
    2. 获取属性值
      String attr(String key)
    3. 获取文本内容
      Sring text():获取文本内容
      Stringhtml():获取标签体的所有内容(包括子标签的字符串内容)
  5. Node:节点对象
    是Document和Element的父类

快捷查询方法

  1. selector:选择器
    使用:Elements select(String cssQuery)
    语法:参考selector类中定义的语法
  2. Xpath:XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。
    使用Jsoup的XPath需要额外导入jar包,查询w3cshool参考手册,语法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值