A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吟风流渡 初级黑马   /  2019-4-25 08:48  /  704 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

XML

1. 概念:Extensible Markup Language 可扩展标记语言
         *可扩展:标签都是自定义的。<user>  <student>
         *功能
                   *存储数据
                            1.配置文件
                            2.在网络中传输
         *xmlhtml的区别
                   1.xml标签都是自定义的,html标签是预定义。
                   2.xml的语法严格,html语法松散
                   3.xml是存储数据的,html是展示数据
         *w3c:万维网联盟
2. 语法:
         *基本语法:
                   1.xml文档的后缀名 .xml
                   2.xml第一行必须定义为文档声明
                   3.xml文档中有且仅有一个根标签
                   4.属性值必须使用引号(单双都可)引起来
                   5.标签必须正确关闭
                   6.xml标签名称区分大小写           
         *组成部分:
                   1.文档声明
                            1.格式:<?xml 属性列表 ?>
                            2.属性列表:
                                     *version:版本号,必须的属性
                                     *encoding:编码方式。告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1
                                     *standalone:是否独立
                                               *取值:
                                                        *yes:不依赖其他文件
                                                        *no:依赖其他文件
                   2.指令(了解):结合css
                            *<?xml-stylesheet type="text/css" href="a.css" ?>
                   3.标签:标签名称自定义的
                            *规则:
                                     *名称可以包含字母、数字以及其他的字符
                                     *名称不能以数字或者标点符号开始
                                     *名称不能以字母 xml(或者 XMLXml 等等)开始
                                     *名称不能包含空格
                   4.属性:
                            id属性值唯一
                   5.文本:
                            *CDATA区:在该区域中的数据会被原样展示
                                     *格式:  <![CDATA[ 数据 ]]>
* 约束:规定xml文档的书写规则
                   *作为框架的使用者(程序员)
                            1.能够在xml中引入约束文档
                            2.能够简单的读懂约束文档
                  
                   *分类:
                            1.DTD:一种简单的约束技术
                            2.Schema:一种复杂的约束技术
3. 解析:操作xml文档,将文档中的数据读取到内存中
* 操作xml文档
                   1.解析(读取):将文档中的数据读取到内存中
                   2.写入:将内存中的数据保存到xml文档中。持久化的存储
* 解析xml的方式:
                   1.DOM:将标记语言文档一次性加载进内存,在内存中形成一颗dom
                            *优点:操作方便,可以对文档进行CRUD的所有操作
                            *缺点:占内存
                   2.SAX:逐行读取,基于事件驱动的。
                            *优点:不占内存。
                            *缺点:只能读取,不能增删改
         *xml常见的解析器:
                   1.JAXPsun公司提供的解析器,支持domsax两种思想
                   2.DOM4J:一款非常优秀的解析器
                   3.Jsoupjsoup 是一款Java HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOMCSS以及类似于jQuery的操作方法来取出和操作数据。
                   4.PULLAndroid操作系统内置的解析器,sax方式的。
* Jsoupjsoup 是一款Java HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOMCSS以及类似于jQuery的操作方法来取出和操作数据。
                  
         *对象的使用:
                   1.Jsoup:工具类,可以解析htmlxml文档,返回Document
                            *parse:解析htmlxml文档,返回Document
                                     *parse​(File in, String charsetName):解析xmlhtml文件的。
                                     *parse​(String html):解析xmlhtml字符串
                                     *parse​(URL url, int timeoutMillis):通过网络路径获取指定的htmlxml的文档对象
                   2.Document:文档对象。代表内存中的dom
                            *获取Element对象
                                     *getElementById​(String id):根据id属性值获取唯一的element对象
                                     *getElementsByTag​(String tagName):根据标签名称获取元素对象集合
                                     *getElementsByAttribute​(String key):根据属性名称获取元素对象集合
                                     *getElementsByAttributeValue​(String key, String value):根据对应的属性名和属性值获取元素对象集合
                   3.Elements:元素Element对象的集合。可以当做 ArrayList<Element>来使用
                   4.Element:元素对象
                            1.获取子元素对象
                                     *getElementById​(String id):根据id属性值获取唯一的element对象
                                     *getElementsByTag​(String tagName):根据标签名称获取元素对象集合
                                     *getElementsByAttribute​(String key):根据属性名称获取元素对象集合
                                     *getElementsByAttributeValue​(String key, String value):根据对应的属性名和属性值获取元素对象集合
                            2.获取属性值
                                     *String attr(String key):根据属性名称获取属性值
                            3.获取文本内容
                                     *String text():获取文本内容
                                     *String html():获取标签体的所有内容(包括字标签的字符串内容)
                   5.Node:节点对象
                            *DocumentElement的父类

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马