當前位置:成語大全網 - 書法字典 - Python字典解析xml

Python字典解析xml

#編碼=utf8

#?介紹壹下要用的xml解析庫?在這裏,我們可以使用壹個更輕的minidom。

進口?xml.dom.minidom

#?定義html輸出模板

#?後來,我們只想把學生數據部分(

模板?=?"""

& lthtml & gt

& lt桌子?border="1 "?style="width:?100%;文本對齊:?中心;”& gt

& lttr & gt

& lttd?colspan="4 "?& gt學生信息

& lt/tr & gt;

& ltstudent _ TRS/& gt;

& lt/table & gt;

& lt/html & gt;

"""

#?讀取xml文檔的內容,假設該文檔是壹個. xml

多姆。=?xml.dom.minidom.parse('a.xml ')

#?獲取xml中的所有學生節點。

學生_節點?=?dom.getElementsByTagName(“學生”)

#?初始化student_trs為空。

學生_trs?=?""

#?遍歷每壹條學生信息

為了什麽?節點?在?學生節點:

#?getAttribute?用戶獲取節點的屬性,得到id屬性值,也就是學號。

#?因為xml在解析後是以Unicode編碼的,所以這裏應該轉換成utf8編碼,下面也是壹樣。

希德。=?node.getAttribute("id ")。編碼(' utf-8 ')?

#?獲取所有子節點

孩子?=?節點.子節點

為了什麽?孩子?在?兒童:

#?將子節點的名稱確定為?姓名,性別,專業?如果是,則收集相應的文本。

如果?child.nodeName.encode('utf-8 ')?==?【名稱】:

#?使用?。子節點[0]。nodeValue?方法獲取節點的文本。

名字?=?child . child nodes[0]. nodevalue . encode(' utf-8 ')?

如果?child.nodeName.encode('utf-8 ')?==?【性別】:

性?=?child . child nodes[0]. nodevalue . encode(' utf-8 ')?

如果?child.nodeName.encode('utf-8 ')?==?“主要”:

專業?=?child . child nodes[0]. nodevalue . encode(' utf-8 ')

#?用html編寫壹行學生數據。

學生_tr?=?“& lttr & gt& lttd & gt% s & lt/TD & gt;& lttd & gt% s & lt/TD & gt;& lttd & gt% s & lt/TD & gt;& lttd & gt% s & lt/TD & gt;& lt/tr >;?%?(席德,?姓名,?性嗎?專業)

#?將這壹行數據添加到總數據中

學生_trs?+=?學生_tr

#?

html?=?template . replace(" & lt;student_trs/>,?學生_trs)

#?將html結果輸入?output.html

打開(" output.html ",“w”)。書寫(html)

#?PS:妳提供的xml數據有問題。妳確實拿到了

#?正確的xml應該如下所示

"""

& lt?xml?version="1.0 "?編碼="UTF-8 "?& gt

& ltperson & gt

& lt學生& gt

& lt學生?id="20140711 " >

& lt姓名>三

& lt性別>男性

& lt專業>計算機

& lt/student & gt;

& lt/學生& gt

& lt/person & gt;

"""