xml.dom篇
DOM是Document Object Model的簡稱,XML 文檔的高級樹型表示。該模型并非只針對 Python,而是一種普通XML 模型。Python 的 DOM 包是基于 SAX 構建的,并且包括在 Python 2.0 的標準 XML 支持里。
一、xml.dom的簡單介紹
1、主要方法:
minidom.parse(filename):加載讀取XML文件
doc.documentElement:獲取XML文檔對象
node.getAttribute(AttributeName):獲取XML節點屬性值
node.getElementsByTagName(TagName):獲取XML節點對象集合
node.childNodes :返回子節點列表。
node.childNodes[index].nodeValue:獲取XML節點值
node.firstChild:訪問第一個節點,等價于pagexml.childNodes[0]
返回Node節點的xml表示的文本:
doc = minidom.parse(filename)
doc.toxml('UTF-8')
訪問元素屬性:
Node.attributes["id"]
a.name #就是上面的 "id"
a.value #屬性的值
2、舉例說明
例1:文件名:book.xml
代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<info>
<intro>Book message</intro>
<list id='001'>
<head>bookone</head>
<name>python check</name>
<number>001</number>
<page>200</page>
</list>
<list id='002'>
<head>booktwo</head>
<name>python learn</name>
<number>002</number>
<page>300</page>
</list>
</info>
(1)創建DOM對象
代碼如下:
import xml.dom.minidom
dom1=xml.dom.minidom.parse('book.xml')
(2)獲取根字節
root=dom1.documentElement #這里得到的是根節點
print root.nodeName,',',root.nodeValue,',',root.nodeType
返回結果為:
info , None , 1
其中:
info是指根節點的名稱root.nodeName
None是指根節點的值root.nodeValue
1是指根節點的類型root.nodeType,更多節點類型如下表: