XML約束和解析基本使用

2021-10-10 09:32:34 字數 4393 閱讀 7457

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 ...