2. xml約束
3. xml解析
extensible markup language 可擴充套件標記語言
配置檔案
在網路中傳輸
儲存資料
<?xml version='1.0' ?>
>
'1'>
>
zhangsanname
>
>
23age
>
>
malegender
>
/>
user
>
'2'>
>
lisiname
>
>
24age
>
>
femalegender
>
user
>
users
>
文件宣告
1. 格式:<?xml 屬性列表 ?>
2. 屬性列表:
yes:不依賴其他檔案
no:依賴其他檔案
指令(了解):
結合css的
<?xml-stylesheet type="text/css" href="a.css" ?>
標籤:標籤名稱自定義的
* 規則:
* 名稱可以包含字母、數字以及其他的字元
* 名稱不能以數字或者標點符號開始
* 名稱不能以字母 xml(或者 xml、xml 等等)開始
* 名稱不能包含空格
屬性:id屬性值唯一
文字:* cdata區:在該區域中的資料會被原樣展示
* 格式:
規定xml文件的書寫規則
作為框架的使用者(程式設計師):
1. 能夠在xml中引入約束文件
2. 能夠簡單的讀懂約束文件
* 引入dtd文件到xml文件中
* 內部dtd:將約束規則定義在xml文件中
* 外部dtd:將約束的規則定義在外部的dtd檔案中
* 本地:
* 網路:
xmlns:xsi
=""xmlns
=""xsi:schemalocation
=" student.xsd"
>
操作xml文件,將文件中的資料讀取到記憶體中
獲取student.xml的path
string path = jsoupdemo1.
class
.getclassloader()
.getresource
("student.xml").
getpath()
;解析xml文件,載入文件進記憶體,獲取dom樹--->document
document document = jsoup.
parse
(new
file
(path)
,"utf-8");
//3.獲取元素物件 element
elements elements = document.
getelementsbytag
("name");
system.out.
println
(elements.
size()
);獲取第乙個name的element物件
element element = elements.
get(0)
;獲取資料
string name = element.
text()
; system.out.
println
(name)
;
* 物件的使用:
1. 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的文件物件
2. document:文件物件。代表記憶體中的dom樹
* 獲取element物件
* getelementbyid(string id):根據id屬性值獲取唯一的element物件
* getelementsbytag(string tagname):根據標籤名稱獲取元素物件集合
* getelementsbyattribute(string key):根據屬性名稱獲取元素物件集合
* getelementsbyattributevalue(string key, string value):根據對應的屬性名和屬性值獲取元素物件集合
3. elements:元素element物件的集合。可以當做 arraylist來使用
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:節點物件
* 是document和element的父類
//1.獲取student.xml的path
string path = jsoupdemo6.
class
.getclassloader()
.getresource
("student.xml").
getpath()
;//2.獲取document物件
document document = jsoup.
parse
(new
file
(path)
,"utf-8");
//3.根據document物件,建立jxdocument物件
jxdocument jxdocument =
newjxdocument
(document)
;//4.結合xpath語法查詢
查詢所有student標籤
list
jxnodes = jxdocument.
seln
("//student");
for(jxnode jxnode : jxnodes)
system.out.
println
("--------------------");
查詢所有student標籤下的name標籤
list
jxnodes2 = jxdocument.
seln
("//student/name");
for(jxnode jxnode : jxnodes2)
system.out.
println
("--------------------");
查詢student標籤下帶有id屬性的name標籤
list
jxnodes3 = jxdocument.
seln
("//student/name[@id]");
for(jxnode jxnode : jxnodes3)
system.out.
println
("--------------------");
查詢student標籤下帶有id屬性的name標籤 並且id屬性值為itcast
list
jxnodes4 = jxdocument.
seln
("//student/name[@id='itcast']");
for(jxnode jxnode : jxnodes4)
使用Dom生成xml檔案和解析xml檔案
xml這種檔案格式在很多時候都是很適合我們用來訪問資料的,所以利用程式來生成xml檔案和解析xml檔案就顯得比較重要了。在dom中是把每乙個元素都看做是乙個節點node的,所有頁面上的屬性 元素等都是繼承自node的,所以當獲取到的是乙個node,而你知道它實際的型別並需要使用的時候就可能會需要進行...
XML(XML概述 XML約束 XML解析)
1 xml 可擴充套件的標記語言。2 xml的作用 3 xml語法 注釋 元素 element 標籤 tag 格式化良好的xml文件,必須只有乙個根元素 屬性 attribute 轉義字元 cdata區 1 xml約束 2 根據dtd約束寫xml文件 3 三種dtd約束 4 schema約束 1 x...
PHP如何接收和解析xml
post是通過http post方法傳遞的變數組成的陣列。是自動全域性變數。globals http raw post data 總是產生 http raw post data 變數包含有原始的 post 資料。此變數僅在碰到未識別 mime 型別的資料時產生。http raw post data ...