xml可拓展标记语言

 

可扩展:标签是自定义的

功能:存储数据 (配置文件/在网络中传输)

xml与html区别:标签自定义,语法严格,存储数据

语法:

*后缀.xml

*第一行文档声明

*有且仅有一个根标签,属性值用引号

*必须结束标签

*区分大小写

xml组成:

文档声明:<?xml version="" encoding="" (standalone="")>

standalone yes/no 是否独立(依赖其它文件)(一般不设置)

指令(了解):结合css

<?xml-stylesheet type="text/css" href="a.css"?>

标签:名称自定义

规则:

名称可以包含字母数字及其他字符

不能以数字或者标点符号开始

不能以xml(xML...)表示

名称不能包含空格

属性:键值对组成,id属性值唯一

文本:CDATA区:在该区域中的数据会被原样展示

<![CDATA [  展示数据  ] ]>

约束:

软件(半成品软件-框架)使用者(程序员)编写xml,软件解析xml

约束:规定XML文档的书写规则

作为框架的使用者:能够在xml中引入约束文档,能够简单的读懂约束文档

约束分类:

DTD:简单的约束技术

【xml笔记】xml快速入门_xml

 引入dtd文档到xml文档中:

内部dtd:将约束规则定义在xml文档中(了解)

外部dtd:将约束规则定义在外部的dtd文件中 

         *本地<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置">

         *网络<!DOCTYPE 根标签名 PUBLIC "dtd文件名字" "dtd文件的位置URL">

Schema:一种复杂的约束技术,做到内容的限定

解析:操作xml文档,将文档中的数据读取到内存中

操作xml文档:

1、解析(读取):将文档中的数据读取到内存中

2、写入:将内存中的数据保存到xml文档中。持久化的存储。

解析xml的方式:

1、DOM:将标记语言文档一次性加载进内存,在内存中形成一棵dom树

*优点:操作方便,可以对文档进行CRUD操作

*缺点:消耗内存

服务端

2、SAX:逐行读取,基于事件驱动

不占内存,只能读取,不能增删改

xml解析器:

1、JAXP:支持dom和sax两种思想(了解)

2、DOM4J:支持dom思想

3、jsoup:

jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

4、Android系统内置解析器,sax方式

jsoup使用:

导入jar包,获取Document对象,获取对应的标签Element对象,获取数据

//获取dom树
        Document document=  Jsoup.parse(new File("C:\\Users\\暮色年华\\Desktop\\专业\\java\\前端\\xml\\基本语法.xml"),"utf-8");
        //获取元素对象
        Elements elements=document.getElementsByTag("name");
        //获取第一个Elements对象
        //Element为ArrayList
        Element element=elements.get(0);
        System.out.println(element.text());
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

对象:

Jsoup:工具类,可以解析html或xml文档,返回Document

parse(File in,String String charset):解析文档,返回Document对象

parse(URL,int timeoutMillis):通过网络路径获取指定的html或xml指定对象

Document:文档对象。代表内存中的Dom树

获取Element对象:getElementsByTag/Attribute/AttributeValue/ID(不多)

Elements:元素Element对象的集合。可以当做ArrayList<Element>使用

attr("")

text():获取标签文本内容 html()

快捷查询Element对象

选择器:Elements select("css选择器"),参考selector语法

xpath: