XML语法
Posted 小薛杂谈铺
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML语法相关的知识,希望对你有一定的参考价值。
概念
-
XML:可扩展性标记语言(Extensible Markup Language) -
XML与html的区别:1.XML语法要求严格,HTML语法松散
2.XML中的标签都是自定义的,HTML标签是预定义的 3.XML是存储数据的,HTML是展示数据的 -
XML功能:存储数据 1.配置文件中 2.在网络中传输
语法
-
基本语法:
-
XML文件的扩展名是.xml -
XML的第一行必须写文档声明 -
XML文档有且仅有一个根标签 -
XML中的属性必须使用引号(单双引号都可以)引起来 -
XML对大小写敏感(区分大小写) -
快速入门:
-
CDATA区:在该区域中的文本都会保留原来的样式 -
格式:<![CDATA [数据]]> -
规则: -
<?xml -stylesheet type="text/css" href="a.css"?>
-
格式:<? xml 属性列表> -
属性列表:1.version:版本号,必须写的属性 2.encoding:解码方式(告知浏览器) 3.standalone:是否独立: -
yes:是独立的,不依赖于其他文件 -
no:不是独立的,依赖其他文件 -
名称可以包含字母,数字以及其他字符 -
名称不能以数字或者标点符号开头 -
名称不能以字母xml(或者XML,Xml等等)开头 -
名称之间不能包含空格 -
文档声明: -
指令(作为了解):结合CSS展示数据 -
标签(自定义) -
属性:id值唯一(约束) -
文本: -
约束:规定XML文档的书写规则
-
引入: -
引入dtd文档到xml中 -
缺点:对于数据审核不严格,只规定了数据的类型,并未检验数据的合法性! -
本地: -
网络: -
内部dtd:将约束规则定义在XML文档中(不是很常用) -
外部dtd:将约束的规则定义在外部的dtd文件中 -
DTD:一种简单的约束技术 -
Schema:一种复杂的约束技术 -
可以在XML文档中引入约束文档 -
可以简单读懂约束文档 -
填写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"
-
要求:
-
分类:
-
DTD:
-
Schema:
解析:操作xml文档,将文档中的数据读取到内存中
-
操作xml文档
-
解析(读取):将文档中的数据读取到内存中 -
写入:将内存中的数据保存到xml文档中。持久化的存储 -
解析xml文档方式:
-
优点:不占内存 -
缺点:只能读取,不能增删改 -
优点:操作方便,可以对文档进行CRUD的所有操作 -
缺点:占用内存 -
DOM:将标记语言文档一次性加载进内存形成一棵dom树 -
SAX:逐行读取 ,基于事件驱动 -
xml常见的解析器:
-
JAXP:sun公司提供的解析器,支持dom和sax两种思想 -
DOM4J:一款非常优秀的解析器 -
Jsoup:jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。 -
PULL:android操作系统内置的解析器,sax方式的 -
//第二步,从xml文档中获取document对象
//获取student.xml路径
String path = JsoupDemo1.class.getClassLoader().getResource("student.xml").getPath();
//解析xml文档,加载文档进内存,获取dom树--->Document对象
Document document = Jsoup.parse(new File(path), "utf-8");
//获取元素对象Element
Elements elemens = document.getElementsByTag("name");
//获取第一个name的Element对象
Element element = elemens.get(0);
//获取数据
String name = element.text();
System.out.println(name); -
语法:参考Selector类中定义的语法 -
使用的方法:Element select(String cssQuery) -
Jsoup:工具类,可以解析xml和html文档,返回Document
-
Document:文档对象,代表内存中的dom树
-
Elements:元素Element对象的集合。可以当作ArrayList
来使用 -
Element:元素对象
-
Node:节点对象
-
parse:解析html或者xml文档,返回Document -
getElementById(String id):根据id属性值获取唯一的element对象 -
getElementByTag(String tagName):根据标签名称获取元素对象集合 -
getElementByAttribute(String key):根据属性名称获取元素对象集合 -
getElementByAttributeValue(String key, String value):根据对应的属性名和属性值来获取元素对象集合 -
获取Element对象 -
String text():获取文本内容 -
String html():获取标签体的所有内容(包括子标签的字符串内容)2020/8/14 21:35:52 2020/8/14 21:35:53 -
String attr(String key):根据属性名称获取属性值 -
getElementById(String id):根据id属性值获取唯一的element对象 -
getElementByTag(String tagName):根据标签名称获取元素对象集合 -
getElementByAttribute(String key):根据属性名称获取元素对象集合 -
getElementByAttributeValue(String key, String value):根据对应的属性名和属性值来获取元素对象集合 -
是Document和Element的父类 -
对象的使用
-
快捷查询方式
-
步骤: -
快速入门: -
selector:选择器 -
Xpath: -
parse(File in, String charsetName):解析xml或者html文件 -
parse(String html):解析xml或者html字符串 -
parse(URL url, int timeoutMillis):通过网络路径获取指定的html或者xml的文档对象 -
获取子元素对象
-
获取属性值
-
获取文本内容
-
导入jar包 -
获取Docunment对象 -
获取相应的标签Element对象 -
获取数据
以上是关于XML语法的主要内容,如果未能解决你的问题,请参考以下文章
在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途