XPath 是一門在 XML 文檔中查找信息的語言,對 XPath 的理解是很多高級 XML 應用的基礎,XPath 在 XML 中通過元素和屬性進行導航。
創新互聯建站10多年企業網站設計服務;為您提供網站建設,網站制作,網頁設計及高端網站定制服務,企業網站設計及推廣,對地磅秤等多個行業擁有豐富的網站推廣經驗的網站建設公司。什么是 lxml ?lxml 是一個用來處理 XML 的第三方 Python 庫,它在底層封裝了用 C 語言編寫的 libxml2 和 libxslt,并以簡單強大的 Python API,兼容并加強了著名的 ElementTree API。
XPath 術語在 XPath 語境中,XML 文檔被視作節點樹,節點樹的根節點也被稱作文檔節點。
XPath 將節點樹中的節點(Node)分為七類:元素(Element),屬性(Attribute),文本(Text),命名空間(Namespace),處理指令(Processing-instruction),注釋(Comment)和文檔節點(Document nodes)。
請看一下 XML 文檔:
<?xml version="1.0" encoding="ISO-8859-1"?><bookstore><book><titlelang="en">Harry Potter</title><author>J K. Rowling</author>
<year>2005</year><price>29.99</price></book></bookstore>
以上 XML 文檔中:
<bookstore> (這是一個“根”)
<author>J K. Rowling</author> (這是一個“元素”)
lang="en" (這是一個“屬性”)
換個視角理解它:
- bookstore (我是根)
- book (我是元素)
- title (我是元素)
- attributes (我是屬性)
- lang = en (樓上其實是屬性容器,我才是屬性)
- text = Harry Potter (我是文本)
- author (我是元素)
- text = J K. Rowling (我是文本)
- year (我是元素)
- text = 2005 (我是文本)
- price (我是元素)
- text = 29.99 (我是文本)
以上就是節點樹的示意圖,看起來是不是很像 YAML 格式,每一行都表示一個節點,縮進表示各行之間的關系。其中無父或無子的節點被稱為原子值(Atomic value)也稱基本值,以上等號后面的都是原子值。節點和基本值都統稱為項目(Item)。
節點之間的關系 父(Parent)每個元素都肯定有一個父節點,最頂層的元素父親是根節點。同理每個屬性必然有一個父,它們的父是元素。
上文 XML 文檔中,根 bookstore 是元素 book 的父節點,book 是元素 title, author, year, price 的父節點,title 是 lang 的父節點。
子(Children)元素可以有零或多個子。
上文 XML 文檔中,title, author, year, price 是 book 的子節點。
同胞(Sibling)父節點相同的節點之間互為同胞,也稱彼此的兄弟節點。
上文 XML 文檔中,title, author, year, price 彼此互為同胞。
先輩(Ancestor)某節點的父節點、父的父,以此類推一直追溯至根節點之間所有節點。
上文 XML 文檔中,title, author, year, price 的先輩就是 book, bookstore。
后代(Descendant)某節點的子節點、子的子,以此類推至最后一個子節點之間所有節點。
上文 XML 文檔中,bookstore 的后代就是 title, author, year, price 。
網站標題:[XPath]XPath與lxml(一)XPath術語-創新互聯
網站地址:http://vcdvsql.cn/article6/epoog.html
成都網站建設公司_創新互聯,為您提供響應式網站、商城網站、移動網站建設、用戶體驗、靜態網站、App開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯