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