XML及Xpath簡介(一)

2021-09-29 04:55:07 字數 2031 閱讀 8633

1.什麼是xml

(1)定義:xml稱為可擴充套件標記性語言。

(2)特點:xml具有自描述特性。是一種半結構化資料。

(3)作用:xml的設計宗旨是用來傳輸資料。

2.xml和html的區別。

(1)語法要求不同:xml的語法要求更嚴格。

1、在html中不區分大小寫,在xml中嚴格區分

2、在html中,有時不嚴格,如果上下文清楚地顯示出段落或者列表鍵在何處結尾,那麼你可以省略

或者標記。在xml中,是嚴格的樹狀結構,絕對不能省略任何標記。

3、在xml中,擁有單個標記而沒有匹配的結束標記的元素必須用乙個/字元作為結尾。

4、在xml中,屬性值必須封裝在引號中。在html中,引號可用可不用。

5、在html中屬性名可以不帶屬性值,xml必須帶。

6、xml文件中,空白部分不會被解析器自動刪除,但是html是過濾掉空格。

(2)作用不同:xml主要用來傳輸資料。html主要用來顯示資料,以及更好的顯示資料。

(3)標記不同:xml沒有固定的標記。html標籤是固定的。

3.xpath

(1)什麼是xpath?

xpath是一種語法,用來提取xml或者html頁面內容的語法。

(2)xpath語法內容

元素:指乙個xml的標籤以及標籤的所有內容

屬性:class,name

內容:a標籤的內容就是aaa,b標籤的內容就是bbb

標籤:和元素一樣。

aaabbb

1.選取節點

nodename ----選取此標籤的所有子標籤。

/   ----從根節點開始選取

// -----從任意位置開始選取。

.  ---選取當前節點

..  ---選取父節點

@  ---選取屬性

text() ---選取內容

2.謂語

英語中謂語用來限定。

xpath的謂語也是限定選取的內容的。

/bookstore/book[1]---表示取bookstroe下面的第乙個book標籤。

/bookstore/book[last()]---表示取bookstroe下面的最後乙個book標籤

/bookstore/book[last()-1]---表示取bookstroe下面倒數第二個book標籤

/bookstore/book[position()>1]---表示從bookstroe下面的第二本書開始取

//title[@lang] ---取乙個有lang屬性的title標籤。

//title[@lang="eng"] ---取乙個有lang屬性,並且lang屬性為eng的title標籤。

3.選取未知節點

* ---匹配任意節點

@* --匹配任意屬性

4.選取若干路徑

//title|//price -- 選取所有的title標籤和price標籤。

4.在python中如何使用xpath?

通過lxml模組,可以使用xpath語法來篩選元素。

#導包from lxml import etree

(1)將字串形式的xml內容解析成可以呼叫xpath語法的element物件的方法。

html_element = etree.html(html_str)

html_element.xpath()--->返回值也是乙個element,表示還可以繼續呼叫xpath方法來繼續篩選元素。

etree.html()可以幫我們補齊標籤內容。

(2)將乙個html檔案轉化成element物件的方法。    

from lxml import etree

html = etree.parse('demo.html')

# print(html)

print(etree.tostring(html,pretty_print=true,encoding='utf-8').decode('utf-8'))

當使用parse方法解析乙個xml或者html檔案時,語法必須嚴格按照xml的標籤語法。標籤必須對應。

XML簡介及基本語法

目錄 一 xml的簡介 了解 二 xml的語法 1.文件宣告 2.元素 標籤定義 3.屬性 4.注釋 5.轉義字元 6.cdata區 7.pi指令 處理指令 三 xml的約束 四 dtd約束 五 dtd的三種引入方式 1.內部dtd 2.外部dtd 3.外部dtd 六 使用dtd定義元素 1.約束元...

XML簡介及解析技術

xml是可擴充套件標記性語言 xml的作用 可以用來儲存資料 它可以用來做為工程或模組的配置檔案 它可以用來做為網路資料傳輸的格式 文件說明 說明 元素 標籤 xml屬性 cdata 文字區域 格式 dom4j程式設計步驟 先載入xml檔案建立document物件 通過document物件拿到根元素...

XPath系列 1 XPath 簡介

我們先來認識一下xpath,我們使用books.xml作為演示的檔案 region books.xml 文學作品 鋼鐵怎樣煉成的 尼古拉 奧斯特洛甫斯基 8.99 大 希爾曼 梅爾維爾 11.99 物理 相對論 愛因斯坦 9.99 endregion 什麼是xpath?xpath使用路徑表示式在xm...