结合css
的:<?xml-stylesheet type="text/css" href="a.css" ?>
。
- 标签
标签名称自定义的。
规则:
-
名称可以包含字母、数字以及其他的字符 。
-
名称不能以数字或者标点符号开始 。
-
名称不能以字母 xml(或者 XML、Xml 等等)开始 。
-
名称不能包含空格 。
- 属性
id
属性值唯一。
- 文本
CDATA区:在该区域中的数据会被原样展示。
格式:<![CDATA[ 数据 ]]>
。
<![CDATA[ if(a
2.3约束
约束:规定xml
文档的书写规则。
-
作为框架的使用者(程序员):
-
能够在xml中引入约束文档。
-
能够简单的读懂约束文档。
-
分类:
-
DTD
:一种简单的约束技术。 -
Schema
:一种复杂的约束技术。 -
DTD
引入dtd文档到xml文档中:
-
内部dtd:将约束规则定义在xml文档中。
-
外部dtd:将约束规则定义在xml文档中。
-
本地:
<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置">
。 -
网络:
<!DOCTYPE 根标签名 PUBLIC "dtd文件名字" "dtd文件的位置URL">
。
样例:
<!ELEMENT students (student*) > <!ELEMENT student (name,age,sex)> <!ELEMENT name (#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT sex (#PCDATA)> <!ATTLIST student number ID #REQUIRED> <?xml version="1.0" encoding="UTF-8" ?>- Schema
引入:
-
填写
xml
文档的根元素。 -
引入
xsi
前缀。xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
引入
xsd
文件命名空间。xsi:schemaLocation="http://www.itcast.cn/xml student.xsd"
-
为每一个
xsd
约束声明一个前缀,作为标识xmlns="http://www.itcast.cn/xml"
样例:
<students xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xmlns=“http://www.itcast.cn/xml”
xsi:schemaLocation=“http://www.itcast.cn/xml student.xsd”
xpp
256
female
<?xml version="1.0" encoding="UTF-8"?><beans xmlns=“http://www.springframework.org/schema/beans”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xmlns:context=“http://www.springframework.org/schema/context”
xmlns:mvc=“http://www.springframework.org/schema/mvc”
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
操作xml
文档,将文档中的数据读取到内存中。
- 操作xml文档
-
解析(读取):将文档中的数据读取到内存中。
-
写入:将内存中的数据保存到xml文档中。持久化的存储。
- 解析xml的方式
- DOM:将标记语言文档一次性加载进内存,在内存中形成一颗
dom
树。
-
优点:操作方便,可以对文档进行CRUD的所有操作。
-
缺点:占内存。
- SAX:逐行读取,基于事件驱动的。
-
优点:不占内存。
-
缺点:只能读取,不能增删改。
-
xml常见的解析器
-
JAXP:sun公司提供的解析器,支持dom和sax两种思想。
-
DOM4J:一款非常优秀的解析器。
-
Jsoup:jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
-
PULL:Android操作系统内置的解析器,sax方式的。
- Jsoup解析器详解
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
快速入门:
步骤:
-
导入jar包
-
获取Document对象
-
获取对应的标签Element对象
-
获取数据
示例:
public class JsoupDemo1 {
public static void main(String[] args) throws IOException {
//1.获取student.xml的path
String path = JsoupDemo1.class.getClassLoader().getResource(“student.xml”).getPath();
//2.解析xml文档,加载文档进内存,获取dom树----->Document
Document document = Jsoup.parse(new File(path), “utf-8”);
//获取元素对象Element
Elements names = document.getElementsByTag(“name”);
System.out.println(names.size());
System.out.println(names);
//获取第一个name的Element对象
Element name1 = names.get(0);
String name = name1.text();
System.out.println(name);
}
}
对象的使用:
- Jsoup:工具类,可以解析
html
或xml
文档,返回Document
。
parse
:解析html或xml文档,返回Document。
-
parse(File in, String charsetName)
:解析xml或html文件的。 -
parse(String html)
:解析xml或html字符串。 -
parse(URL url, int timeoutMillis)
:通过网络路径获取指定的html或xml的文档对象。
- Document:文档对象。代表内存中的
dom
树。
获取Element
对象
-
getElementById(String id)
:根据id属性值获取唯一的element对象。 -
getElementsByTag(String tagName)
:根据标签名称获取元素对象集合。 -
getElementsByAttribute(String key)
:根据属性名称获取元素对象集合。 -
getElementsByAttributeValue(String key, String value)
:根据对应的属性名和属性值获取元素对象集合。
-
Elements:元素
Element
对象的集合。可以当做ArrayList<Element>
来使用。 -
Element:元素对象
-
获取子元素对象
-
getElementById(String id)
:根据id属性值获取唯一的element对象。 -
getElementsByTag(String tagName)
:根据标签名称获取元素对象集合。 -
getElementsByAttribute(String key)
:根据属性名称获取元素对象集合。 -
getElementsByAttributeValue(String key, String value)
:根据对应的属性名和属性值获取元素对象集合。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
分享
这次面试我也做了一些总结,确实还有很多要学的东西。相关面试题也做了整理,可以分享给大家,了解一下面试真题,想进大厂的或者想跳槽的小伙伴不妨好好利用时间来学习。学习的脚步一定不能停止!
Spring Cloud实战
Spring Boot实战
面试题整理(性能优化+微服务+并发编程+开源框架+分布式)
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
03032d36.jpg" alt=“img” style=“zoom: 33%;” />
分享
这次面试我也做了一些总结,确实还有很多要学的东西。相关面试题也做了整理,可以分享给大家,了解一下面试真题,想进大厂的或者想跳槽的小伙伴不妨好好利用时间来学习。学习的脚步一定不能停止!
[外链图片转存中…(img-lFdnGflC-1711865414291)]
Spring Cloud实战
[外链图片转存中…(img-mjG6t36F-1711865414292)]
Spring Boot实战
[外链图片转存中…(img-RDFDa5QS-1711865414292)]
面试题整理(性能优化+微服务+并发编程+开源框架+分布式)
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!