1.xml
1.xml的建立以及文檔聲明
建立方式1:
直接建立一個File檔案,取名為xxx.xml
建立方式2:
在IDEA中配置模闆:
setting-->搜尋template-->new-->添加xml模闆
文檔聲明的第一行為:
2.xml文檔的注釋
<!--
注釋内容
-->
快捷鍵為:ctrl+/
3.xml的組成與注意事項
1.xml的組成部分:
(1)元素(标簽) element
(2)屬性 attribute
2.xml的格式
(1)<标簽名>标簽體</标簽名> 閉合标簽
<表簽名/> 自閉合标簽
(2)<标簽名>
<子标簽名>子标簽題</子标簽名>
</标簽名>
标簽中套标簽
3.注意事項
a.标簽名區分大小寫
b.标簽中不能有空格
c.不建議以XML Xml xml開頭,不建議以數字開頭
d.一個良好的xml文檔,都會有一個根标簽
4.轉義字元
常用的是需要記住:
< 轉義為 <
> 轉義為 >
5.文檔限制(了解)
(1) dtd
擴充名為:dtd
#PCDATE:表示标簽體中應為文本
#CDATE:表示标簽中的屬性的指應為字元型
#REQUIRED:表示屬性必須設定
(2) Schema
擴充名為:xsd
文本本身為文檔:W3C-----限制---->Schema----限制---->自己的文檔
2.dom4j解析xml
使用DOM思想,讀取xml檔案
介紹dom4j 核心類
1: SAXReader DOM解析思想的核心類
方法: read(綁定了這個xml檔案的輸入流) 讀取xml檔案
傳回文檔對象,傳回值是Document對象
2: Document對象
方法: getRootElement()擷取文檔的根标簽
傳回值,傳回的是标簽對象 Element
3:Element标簽對象
方法擷取子标簽 List<Element> elements()
傳回所有的子标簽集合List
方法 String attributeValue(String 屬性名) 擷取屬性值
方法 String getText() 擷取到的是,标簽體的文本部分
---------------------------xml文檔------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<books>
<book bookName="《架構師成長之路》" press="清華計算機(1)部" date="2010-6-6" price="125.00"></book>
<book bookName="《JavaEE企業級開發》" press="清華計算機(2)部" date="2011-5-5" price="115.00"></book>
<book bookName="《Oracle指南》" press="清華計算機(3)部" date="2012-7-7" price="89.00"></book>
</books>
-------------------------測試類-------------------------------------------
public class Test02 {
public static void main(String[] args) throws Exception{
//擷取類的反射然後再使用獲得的反射進行擷取流對象
InputStream in = Test02.class.getClassLoader().getResourceAsStream("books.xml");
//建立一個SAXReader對象,然後進行讀取xml檔案
SAXReader saxReader = new SAXReader();
//使用SAXReader的讀取功能,進行讀xml的流
Document document = saxReader.read(in);
//使用Document對象擷取根标簽
Element rootElement = document.getRootElement();
//使用根标簽擷取子标簽,傳回一個泛型為Element的List集合
List<Element> list = rootElement.elements();
//周遊集合
for (Element element : list) {
String bookName = element.attributeValue("bookName");
String press = element.attributeValue("press");
String date = element.attributeValue("date");
String price = element.attributeValue("price");
System.out.println(bookName+"..."+press+"..."+date+"..."+price);
}
}
}
--------------------------輸出結果-------------------------------
《架構師成長之路》...清華計算機(1)部...2010-6-6...125.00
《JavaEE企業級開發》...清華計算機(2)部...2011-5-5...115.00
《Oracle指南》...清華計算機(3)部...2012-7-7...89.00