java XML標記語言

XML

可擴展標記語言(Extensive Markup Language),標簽中的元素名是可以自己隨意寫,可拓展是相對于html來說

創新互聯建站是一家專注于成都做網站、網站建設與策劃設計,建甌網站建設哪家好?創新互聯建站做網站,專注于網站建設十載,網設計領域的專業建站公司;建站業務涵蓋:建甌等地區。建甌做網站價格咨詢:028-86922220

標記語言:由一對尖括號括起來<內容>,就稱為標記,標簽;代碼都是由標簽組成,就稱為標記語言

作用

  • 用來當做配置文件
  • xml的配置文件和properties的配置文件的選用:
    • 如果配置的是單項數據,使用properties
    • 如果配置的是多項數據,使用xml

語法

文件后綴

.xml

文檔聲明

version 是版本的意思, encoding 是編碼集

<?xml version='1.0' encoding='utf-8'?>

注釋

<!-- 注釋 -->

標簽

1、xml文件中有且只有一個根標簽

2、標簽中可以定義屬性,在給屬性賦值的時候,值要用引號括起來(單雙都可)

3、標簽名區分大小寫

4、標簽的閉合

  • <aaa></aaa> 有頭有尾
  • <bbb/> 自閉和

5、標簽名的命名規則

  • 可以由數字,字母,一些符號來組成
  • 開頭不能是數字和標點符號
  • 標簽名中不能有空格
    • 如:<aa a></aa a>
  • 標簽名不能是xml或者XML
    • 如:<xml></xml>

XML約束

DTD約束

文檔類型定義

內部引入

<!DOCTYPE books[
        <!ELEMENT books (book+)>
        <!ELEMENT book (name,price)>
        <!ELEMENT name (#PCDATA)>
        <!ELEMENT price (#PCDATA)>
        ]>
<books>
    <book>
        <name>三國</name>
        <price>386</price>
    </book>
    <book>
        <name>水滸</name>
        <price>400</price>
    </book>
</books>

外部引入(本地)

dtd文件:books.dtd

<!ELEMENT books (book+)>
<!ELEMENT book (name,price)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>

引入

<!DOCTYPE books SYSTEM "books.dtd">

外部引入(網絡)

<!DOCTYPE books PUBLIC "DTD名稱" "DTD文檔的URL">

XML解析

DOM解析

就是指先將xml文件一次性的加載進內存中,在內存中形成一個樹狀結構(dom樹)

優點:我們可以通過dom方式的解析,對xml文件中的數據進行增刪改查

缺點:如果樹太大了,非常占內存空間

SAX解析

Simple APIs for XML(簡單應用程序接口)

基于事件處理的,逐行掃描,逐行加載。

優點:逐行掃描,讀取一行,加載一行,加載完就扔了,不占用內存空間

缺點:執行過程不可逆,不能對數據進行增刪改操作,只能進行查詢操作,不能回頭了

JDOM解析

DOM4j解析

public static void main(String[] args) throws DocumentException {
    SAXReader saxReader = new SAXReader();
    //解析XML文件、獲取樹對象
    Document doc = saxReader.read(new File("java/src/study/books.xml"));
    //獲取根標簽對象
    Element root = doc.getRootElement();
    //獲取根元素下的子元素對象集合
    List<Element> list = root.elements();
    for (Element element : list){
        //獲取該元素下的子元素name
        Element name = element.element("name");
        //獲取該元素下的子元素price
        Element price = element.element("price");
        //獲取name、price元素的文本信息
        System.out.println("名稱:" + name.getText() + ",價格:" + price.getText());
    }
}

常用API

Element對象
// 獲取所有的子標簽
List<Element> elements();
// 獲取元素的名字
String getName();
// 獲取標簽內的文本內容
String getText();
// 根據標簽名獲取指定第一個標簽對象
Element element(String name);
// 根據屬性名獲取屬性值
String attributeValue(String name);

分享題目:java XML標記語言
本文鏈接:http://m.kartarina.com/article34/dsoghpe.html

成都網站建設公司_創新互聯,為您提供企業建站、商城網站、網站改版、ChatGPT微信公眾號、響應式網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

營銷型網站建設
主站蜘蛛池模板: 久久久久av无码免费网| 亚洲AV无码专区亚洲AV伊甸园| 日韩人妻无码精品久久免费一| 精品亚洲成在人线AV无码| 亚洲AV综合永久无码精品天堂 | 岛国av无码免费无禁网站| 无码任你躁久久久久久老妇| 亚洲国产精品无码中文字| 麻豆人妻少妇精品无码专区| 国产精品无码A∨精品影院 | 亚洲AV无码专区日韩| 18禁网站免费无遮挡无码中文 | 亚洲自偷自偷偷色无码中文| 亚洲中文无码卡通动漫野外| 国产乱子伦精品无码码专区 | 中文无码字幕中文有码字幕| 久久无码无码久久综合综合| 人妻AV中出无码内射| 国产精品无码制服丝袜| 亚洲精品无码久久久久APP| 无码日韩人妻精品久久蜜桃| 国产午夜无码精品免费看| 日本爆乳j罩杯无码视频| 亚洲人成无码久久电影网站| 无码av天天av天天爽| 亚洲中文字幕久久无码| 永久免费av无码网站韩国毛片| 日韩乱码人妻无码中文字幕| 亚洲av福利无码无一区二区| 久久成人无码国产免费播放| 久久无码无码久久综合综合 | 亚洲大尺度无码无码专线一区 | 亚洲av无码一区二区三区四区 | 无码人妻精品一区二区三区99性| 中文字幕丰满乱孑伦无码专区| 中文无码精品一区二区三区| 免费看成人AA片无码视频吃奶| 国产精品无码素人福利| 国产成人无码免费网站| 亚洲中文字幕无码久久综合网| 丰满熟妇人妻Av无码区|