1導入庫
import xml.etree.elementtree as et
2例項化物件tree = et.elementtree()
tree.parse("test.xml")
root = tree.getroot() #獲取所有節點
root.tag #該節點的標籤
root[0].tag #該節點第乙個子節點的標籤
root[0][0][1][0] #該節點的一子節點的一子節點的二子節點的一子節點的。但是沒必要這樣,直接find(),findall()即可。
val = root.find('root.tag').text #標籤裡的內容
root.attrib #節點屬性
len(root) #該節點所包含的子節點數
root.find('name').text #訪問該標籤裡的內容,注意字串要和標籤一致。
鏈結1
python官方文件 示例
xml文件,test.xml
<?xml version="1.0" encoding="iso-8859-1"?>
12008
141100
42011
59900
682011
13600
解析**
import xml.etree.elementtree as et
tree = et.elementtree() #例項化
tree.parse('test.xml') #解釋文件
root = tree.getroot() #獲取所有節點
print(root.tag)#獲取第乙個標籤 data
print(len(root)) #獲得root有多少個一級子節點,即3個country子節點
countrys = root.findall('country') #找到所有的country標籤,並返回乙個列表list訪問位置資訊
print(countrys[0].attrib) #第0位置標籤的屬性
print(countrys[1].attrib) #第1位置標籤的屬性
#通過for迴圈
for country in countrys:
print(country.attrib)
print(countrys[0].find('rank').text) #通過標籤尋找下乙個子節點
print(countrys[1].find('rank').text) #通過標籤尋找下乙個子節點
from lxml import etree
root = etree.element(
'root'
)#根目錄
head = etree.subelement(root,
'head'
)#root的子節點head
title = etree.subelement(head,
'title'
)#head的子節點title
title.text =
'123'
#title的內容為123
tree = etree.elementtree(root)
#不知道,但要有
tree.write(
'test.xml'
, pretty_print=
true
, xml_declaration=
false
, encoding=
'utf-8'
)#pretty_print 是否美化xml,xml_declaration 是否要第一行的對xml版本的介紹
xml檔案的編寫 解析和元素定義
最近接手乙個專案的三期改造,是外包公司編寫,交由我方先做第三期改造,看到專案中有用到自定義的 dtd 檔案,以前沒見過,做了一下總結 1.專案中乙個 dtd 檔案demo 檔名cache dict.dtd version 1.0 encoding utf 8 dicts dict dict from...
XML的解析與生成
1.寫布局 2.業務邏輯 a.備份 1.封裝簡訊資料到list中 2.將list中的資料寫到xml檔案中。b.恢復 1.解析xml檔案中簡訊資料,封裝到list集合中 2.將解析資料列印。xmlserializer 使用xmlserializer來序列化xml檔案 public static boo...
XML的生成與解析
1 員工工具類 class emp public emp int id,string name,int age,string gender,int salary public int getid public void setid int id public string getname publi...