3二、XML

XMLcss

概念:可擴展標記語言,標籤都是自定義html

功能:存儲數據網絡

            一、配置文件dom

            二、在網絡中傳輸工具

XML和HTML的區別:一、xml標籤都是自定義的,html標籤都是預約義的編碼

                              二、xml的語法嚴格,html語法鬆散url

                              三、xml是存儲數據的,html是展現數據的操作系統

 

語法:一、xml文檔的後綴名 .xmlxml

         二、xml第一行必須定義爲文檔聲明 <? xml version = '1.0' ?>htm

         三、xml文檔中有且僅有一個根標籤

         四、屬性值必須使用引號(單雙均可)引發來

         五、標籤必須正確關閉

         六、xml標籤名稱區分大小寫

 

組成部分:一、文檔聲明

                        格式:<? xml 屬性列表 ?>

                        屬性列表:version:版本號,必須屬性

                                       encoding:編碼方式,告知解析引擎當前文檔使用的字符集,默認值:ISO-8859-1

                                       standalone:是否獨立,取值yes , no

               二、指令

                        結合css

               三、標籤

                        標籤名稱自定義規則:一、名稱能夠包含字母、數字以及其餘的字符

                                                      二、名稱不能以數字或者標點符號開始

                                                      三、名稱不能以字母xml(Xml,Xml等等)開始

                                                      四、名稱不能包含空格

               四、屬性

                        id屬性值惟一

               五、文本

                        CDATA區:在該區域中的數據會被原樣展現

                        格式:<![CDATA][ 數據 ]>

 

XML的約束:規定xml文檔的書寫規則

分類:DTD:一種簡單的約束技術

         Schema:一種複雜的約束技術

DTD:引入dtd文檔到xml文檔中

          內部dtd:將約束規則定義在xml文檔中

                        <! DOCTYPE  根標籤名 [約束內容]>

          外部dtd:將約束的規則定義在外部的dtd文件中

                        本地:<! DOCTYPE 根標籤名 SYSTEM 「dtd文件的位置」>

                        網絡:<! DOCTYPE 根標籤名 PUBLIC 「dtd文件名字」「dtd文件的位置URL」>

Schema:

        引入:一、填寫xml文檔的根目錄

                 二、引入xsi前綴

                 三、引入xsd文件的命名空間

                 四、爲每一個xsd約束聲明一個前綴

 

XML的解析:

          讀取:將文檔中的數據讀取到內存中

          寫入:將內存中的數據保存到xml文檔中,持久化存儲

         

         方式:

                    一、DOM:將標記語言文檔一次性加載進內存,在內存中造成一棵DOM樹

                            優勢:操做方便,能夠對文檔進行CRUD的全部操做

                            缺點:佔內存

                    二、SAX:逐行讀取,基於事件驅動

                            優勢:不佔內存

                            缺點:只能讀取,不能增刪改

xml常見的解析器:

                一、JAXP:sun公司提供的解析器,支持dom和sax思想

                二、DOM4J:一款很是優秀的解析器

                三、Jsoup:Java的HTML解析器

                四、PULL:安卓操做系統內置的解析器,sax方式

Jsoup:

     使用步驟:一、導入jar包

                    二、獲取document對象

                    三、獲取對應標籤的Element 對象

                    四、獲取數據

     對象的使用:一、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:

                                    一、獲取Element:

                                    getElementById(String id):根據id屬性值獲取惟一的element對象

                                    getElementsByTag(String tagName):根據標籤名稱獲取元素對象集合

                                    getElementsByAttribute(String key):根據屬性名稱獲取元素對象集合

                                    getElementsByAttributeValue(String key,String Value):根據屬性名稱和屬性值獲取元素對象集合

                         三、Element:

                                    一、獲取子元素對象          

                                    getElementById(String id):根據id屬性值獲取惟一的element對象

                                    getElementsByTag(String tagName):根據標籤名稱獲取元素對象集合

                                    getElementsByAttribute(String key):根據屬性名稱獲取元素對象集合

                                    getElementsByAttributeValue(String key,String Value):根據屬性名稱和屬性值獲取元素對象集合

                                    二、獲取屬性值

                                    String attr(String key):根據屬性名稱獲取屬性值

                                    三、獲取文本內容

                                    String text():獲取文本內容

                                    String html():獲取標籤體的因此內容

                            五、Node:節點對象

 

快捷查詢方式:

             一、selector:選擇器

                        Element select(String cssQuery)

             二、XPath:  

                        使用Jsoup的XPath須要額外導入jar包                                       

相關文章
相關標籤/搜索