節點文字相關操作

2022-06-25 13:12:11 字數 1951 閱讀 7597

對於許多xml檔案,乙個根節點向下會有很多層級的子節點,通常會把文字放置到最最底層的節點

因此要想訪問文字,就必須要訪問最底層的那個節點

但也有一些xml檔案,text會放置到中間層級的節點中,比如html

建立帶文字節點

root = etree.element("

root")

root.text = "

text

"print(root.text) #

輸出:text

etree.tostring(root) #

b'text'

節點文字相關操作

html = etree.element("

html")

body = etree.subelement(html, "

body")

body.text = "

text

"etree.tostring(html)

#b'text

'br = etree.subelement(body, "br"

)etree.tostring(html)

#b'text

'br.tail = "

tail

"etree.tostring(html)

#b'text

tail

'etree.tostring(br) #b'

tail'

etree.tostring(br, with_tail=false) #b''

etree.tostring(html, method="

text

") #

b'texttail'

#-----------------------使用xpath提取文字-----------------------------

print(html.xpath("

string()

")) #

輸出:texttail

print(html.xpath("

//text()

")) #

輸出:['text', 'tail']

build_text_list = etree.xpath("

//text()")

print(build_text_list(html)) #

輸出:['text', 'tail'],事先寫好xpath,並將xpath套用到html節點上

texts =build_text_list(html)

print(texts[0]) #

輸出:text

parent =texts[0].getparent()

print(parent.tag) #

輸出:body

print(texts[1]) #

輸出:tail

print(texts[1].getparent().tag) #

輸出:br

stringify = etree.xpath("

string()")

print(stringify(html)) #

輸出:texttail

print(stringify(html).getparent()) #

輸出:none,由於通過string()獲取是各個節點拼接的文字,因此無法獲得其父節點

#----------------------判斷是否為普通文字,或者是tail文字-----------------------------

print(texts[0].is_text) #

輸出:true

print(texts[1].is_text) #

輸出:false

print(texts[1].is_tail) #

輸出:true

文字相關的屬性

一 text decoration屬性 文字樣式 下劃線 刪除線 上刪除線 1.下劃線 underline 我是段落 2.刪除線 line through 我是段落 3.上刪除線 overline 我是段落 4.無 none 我是段落1 我是段落1 效果圖 二 text align屬性 文字水平對齊...

Linux 文字相關命令

文字檢視 1 cat 連線檔案並顯示 tac 反向檢視檔案 n 顯示行號 e 顯示行結束符 2 more,less分屏顯示 more 向後翻 less 和man一樣 3 head,tail head 檢視前n 10 行 tail 檢視後n行 tail f 檢視檔案尾部,不退出,等待顯示後續追加至此檔...

HTML CSS 文字相關屬性

重點內容規定文字樣式的屬性 格式 font style italic 取值 normal 正常的 預設值 italic 傾斜的 快捷鍵 軟體 dw 輸入fs,自動生成 font style italic 輸入fsn,自動生成 font style normal 規定文字粗細的屬性 格式 font w...