真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

XML是什么

這篇文章主要講解了“XML是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“XML是什么”吧!

公司主營業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出和縣免費做網(wǎng)站回饋大家。

目錄結(jié)構(gòu):

  1. 什么是XML

  2. 解析XML

    1. 解析XML的兩種方式

    2. 使用dom4j解析xml

      1. dom4j的部分API

      2. 打印一個XML文件的全部內(nèi)容

    3. 在dom4j中應(yīng)用XPath解析XML

      1. 相關(guān)的部分API

      2. XPath的路徑表達式

      3. 通配符

      4. 謂語

  3. 使用java寫一個XMl文件

    1. 將一個帶有書籍信息的List集合解析為XML文件

  4. Schema和DTD的區(qū)別

1 什么是XML

XML(eXtensible  markup language) 是一種可擴展的標記語言 ,即使可以自定義標簽的語言。

2 解析XML

2.1 解析的兩種方式

XML的解析分為兩種方式,分別是SAX和DOM。

DOM:(Document Object Model,就是文檔對象模型),是W3C組織推薦的處理XML的一種方式。使用該方式解析XML文檔,會把文檔中的所有元素,按照其出現(xiàn)的層次關(guān)系,在內(nèi)存中構(gòu)造出樹形結(jié)構(gòu)。因此對內(nèi)存的壓力大,解析熟讀慢,優(yōu)點就是可以遍歷和修改節(jié)點的內(nèi)容。

SAX:(Simple API for XML) 是一種XML解析的替代方法。相比較于DOM,解析速度更快,內(nèi)存的壓力更?。蝗秉c就是不能修改節(jié)點的內(nèi)容。

2.2 使用dom4j解析XML

在使用dom4j解析XML之前需要導(dǎo)入相關(guān)的工具包,比如筆者的: dom4j-1.6.1.jar 包

2.2.1 dom4j的API

//創(chuàng)建SAXReader,是dom4j包提供的解析器SAXReader reader=new SAXReader();//讀取指定的文件Document doc=reader.read(new File(filename));

Document
  Document getRootElement()           用于獲取根元素

Element
  Element element(String name)        獲取元素下指定名稱的子元素
  List elements()            獲取元素下所有的子元素
  String getName()                    獲取元素名
  String getText()                    獲取元素文本內(nèi)容
  String elementText(String name)     獲取子元素文本內(nèi)容
  Attribute attribute(String)         獲取元素的屬性
  String attributeValue(String name)  獲取元素的屬性值

Attribute
  String getName()                    獲取屬性的名字
  String getValue()                   獲取屬性的值

2.2.2 打印一個XML文件的全部內(nèi)容

pricties.xml文件直接位于項目下

XML是什么XML是什么


  三國演繹羅貫中58.8
  
  水滸傳施耐庵49.8
  
  西游記吳承恩100.11
  

pricties.xml

XML是什么XML是什么

import java.io.File;import java.util.List;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class ParseXML {public static void main(String[] args) {//創(chuàng)建SAXReader對象SAXReader saxr=new SAXReader();
        Document  docu=null;try{//讀取指定的文件,相對于項目路徑docu=saxr.read(new File("pricties.xml"));//獲得元素的文件的根節(jié)點Element e=docu.getRootElement();
            
            searchAllElement(e);
        }catch(Exception e){
            e.printStackTrace();
        }
    }    public static void searchAllElement(Element e){//獲得當前元素下的所有子元素,并存儲到集合中List elements=e.elements();
        
        System.out.print("<"+e.getName());//打印開始標記List atrs=e.attributes();//打印該標記下的所有屬性for(Attribute att:atrs){
            System.out.print(" "+att.getName()+"=\""+att.getValue()+"\"");
        }
        System.out.println(">");        //如果集合的大小為0,表示該集合下沒有子元素了if(elements.size()==0){
            System.out.println(e.getText());//打印文本信息System.out.println("");//打印結(jié)束標記return;//退出當前層方法        }        //遞歸每一個子元素for(Element ele:elements){
            searchAllElement(ele);
        }
        System.out.println("");//打印結(jié)束標記    }

}

parseXML.xml

2.3 在dom4j中應(yīng)用XPath解析XML

首先需要在dom4j基礎(chǔ)上引入相應(yīng)的jar包,比如讀者的: jaxen-1.1-beta-6.jar

2.3.1 XPath的API

Document
  List selectNodes(String xpath)
  Node selectSingleNode(String xpath)

2.3.2 XPath的路徑表達式

2.3.2.1 XPath的路徑表達式規(guī)則

XML是什么

2.3.2.2 XPath的路徑表達式應(yīng)用案例

XML是什么

2.3.3 通配符

2.3.3.1 通配符規(guī)則

XML是什么

2.3.3.2 通配符應(yīng)用案例

XML是什么

2.3.4 謂語

2.3.4.1 謂語規(guī)則

謂語是用來查找某個特定的節(jié)點或是包含某個指定的值的節(jié)點
謂語被嵌在方括號中

2.3.4.2 謂語應(yīng)用案例

XML是什么

3 java寫XML文件

3.1 將一個帶有書籍信息的List集合解析為XML文件

XML是什么XML是什么

package com.xdl.xml;public class Book {private String name;private String author;private String price;public Book() {super();
    }public Book(String name, String author, String price) {super();
        setName(name);
        setAuthor(author);
        setPrice(price);
    }/** * @return the name     */public String getName() {return name;
    }/** * @param name the name to set     */public void setName(String name) {this.name = name;
    }/** * @return the author     */public String getAuthor() {return author;
    }/** * @param author the author to set     */public void setAuthor(String author) {this.author = author;
    }/** * @return the price     */public String getPrice() {return price;
    }/** * @param price the price to set     */public void setPrice(String price) {this.price = price;
    }
}

Book.java

XML是什么XML是什么

package com.xdl.xml;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.XMLWriter;public class WriteXML {public static void main(String[] args) {//創(chuàng)建一個Book集合用于存儲書籍信息List list_books=new ArrayList();//插入書籍信息for(int i=0;i<6;i++){
            Book book=new Book("jame"+i,"author"+i,""+i);
            list_books.add(book);
        }        //創(chuàng)建一個文檔對象Document doc=DocumentHelper.createDocument();//創(chuàng)建一個根節(jié)點Element books=DocumentHelper.createElement("books");        //獲得書籍集合的大小int size=list_books.size();for(int i=0;i

WriteXML.java

4 Schema和DTD的區(qū)別

Schema是對XML文檔結(jié)構(gòu)的定義和描述,其主要的作用是用來約束XML文件,并驗證XML文件有效性。DTD的作用是定義XML的合法構(gòu)建模塊,它使用一系列的合法元素來定義文檔結(jié)構(gòu)。它們之間的區(qū)別有下面幾點:

1、Schema本身也是XML文檔,DTD定義跟XML沒有什么關(guān)系,Schema在理解和實際應(yīng)用有很多的好處。

2、DTD文檔的結(jié)構(gòu)是“平鋪型”的,如果定義復(fù)雜的XML文檔,很難把握各元素之間的嵌套關(guān)系;Schema文檔結(jié)構(gòu)性強,各元素之間的嵌套關(guān)系非常直觀。

3、DTD只能指定元素含有文本,不能定義元素文本的具體類型,如字符型、整型、日期型、自定義類型等。Schema在這方面比DTD強大。

4、Schema支持元素節(jié)點順序的描述,DTD沒有提供無序情況的描述,要定義無序必需窮舉排列的所有情況。Schema可以利用xs:all來表示無序的情況。

5、對命名空間的支持。DTD無法利用XML的命名空間,Schema很好滿足命名空間。并且,Schema還提供了include和import兩種引用命名空間的方法。

感謝各位的閱讀,以上就是“XML是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對XML是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!


文章題目:XML是什么
路徑分享:http://weahome.cn/article/jgghop.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部