xml檔案節點一般分文三類:
1、元素節點 (比如:class、student)
2、文字節點 (比如:標籤對里有內容的,name、age)
3、屬性節點 (比如:login裡的資訊,包含使用者、密碼)
每個節點都擁有包含著關於節點資訊的屬性。這些屬性是:
nodename(節點名稱)
nodevalue(節點值)
nodetype(節點型別)
一、讀取xml元素節點
在根目錄下建立乙個資料夾:new—directory,命名:xml_read
把 class_info.xml 拖到 xml_read 資料夾裡
在同一資料夾內新建python_file
案例:檢視class_info.xml檔案裡class 節點屬性(節點名稱,節點的值,節點型別)
from xml.dom import minidom #匯入這個模組
dom=minidom.parse('class_info.xml') #載入xml檔案,新建的指令碼必須和這個xml檔案在乙個目錄下,必須是絕對路徑
root=dom.documentelement #載入dom物件元素
print(root.nodename) #列印節點資訊
print(root.nodevalue)
print(root.nodetype)
執行結果
class
none
詳解:nodename 節點名稱
nodevalue 返回文字節點的值
nodetype 屬性返回以數字值返回指定節點的節點型別
1、如果節點是元素節點,則nodetype屬性將返回1
2、如果節點是屬性節點,則nodetype屬性將返回2
二、讀取xml文字節點的值
案例:分別列印出class_info.xml裡的學生和老師的詳細資訊(姓名,年齡,城市)
from xml.dom import minidom
#開啟檔案
dom=minidom.parse('class_info.xml')
#獲取文件物件元素
root=dom.documentelement
#根據標籤名稱獲取標籤物件
names=root.getelementstagname('name')
args=root.getelementsbytaname('age')
citys=root.getelementsbytaname('city')
#分別列印顯示xml文件簽對裡面的內容
for i in range(4)
print(name[i].firstchild.data)
print(args[i].firstchild.data)
print(citys[i].firstchild.data)
三、讀取xml屬性節點的值
案例:分別讀取列印老師和學生的賬號密碼
from xml.dom import minidom
dom=minidom.parse('class_info.xml')
root=dom.documentelement
logins=root.getelementsbytagname('login')
#獲取login標籤的username屬性
for i in range(2):
username=logins[i].getattribute('username')
print(username)
password=logins[i].getattribute('password')
print(password)
四、讀取xml子節點
讀取子節點nodename(節點名稱)
nodevalue(節點值)
nodetype(節點型別)
from xml.dom import minidom
#載入 xml 檔案
dom=minidom.parse('class_info.xml')
root=dom.documentelement
tags=root.getelementsbytagname('student')
print(tags[0].nodename)
print(tags[0].tagname)
print(tags[0].nodetype)
print(tags[0].nodevalue)
執行結果:
student
student
none
Xpath 讀取XML節點
示例1 鎖定到目標節點會使path比較長,那麼可以省略一些節點 xpathreader reader xpathreader.instacefromstring xmlstring listnodes reader.nodelist envelope body inforesponse test s...
PHP解析XML,讀取節點內容
php與xml聯絡緊密,下面是乙個較簡單的解析xml節點資料的例子,示例中自定義有乙個xml樣例檔案 通過php將依次讀取出xml節點中的id name和email資料,是讀取較大的xml檔案的前提,新手的話,那就更應該參考了 01 02 定義乙個xml樣例檔案 03 xml string 1.0 ...
快速讀取xml節點內容
xml內容如下 view code 1 promotion coupons get response 2 tot results 3200 4tot results 5 coupons list true 6 coupon 7 coupon id 8123456 9coupon id 10 deno...