對於許多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...