導航:首頁 > 版本升級 > python獲取xml文件內容

python獲取xml文件內容

發布時間:2024-10-30 08:21:15

A. 1、使用python讀取依據生成的xml文件,添加樣式表,最中生成一個html文件

#coding=utf8

#引入要用到的xml解析庫這里我們用比較輕量級的minidom就行了
importxml.dom.minidom

#定義一個html輸出模板
#後面我們只是要把這段html中的學生數據部分(<student_trs/>)換成xml中讀到的數據
template="""
<html>
<tableborder="1"style="width:100%;text-align:center;">
<tr>
<tdcolspan="4">學生信息</td>
</tr>
<student_trs/>
</table>
</html>
"""

#讀取xml文檔內容,這里假設是a.xml
dom=xml.dom.minidom.parse('a.xml')

#獲取xml中的所有student節點
student_nodes=dom.getElementsByTagName('student')

#初始化student_trs為空
student_trs=""

#遍歷每一條學生信息
fornodeinstudent_nodes:
#getAttribute用戶獲取節點的屬性,得到id屬性值即學號
#因為xml解析後是Unicode編碼的,所以這里要轉成utf8編碼,下面同理
sid=node.getAttribute("id").encode('utf-8')
#獲取所有子節點
children=node.childNodes
forchildinchildren:
#判斷子節點的名字為姓名、性別、專業的話,就採集其對應文本
ifchild.nodeName.encode('utf-8')=="姓名":
#使用。childNodes[0].nodeValue的方法得到節點的文本
name=child.childNodes[0].nodeValue.encode('utf-8')
ifchild.nodeName.encode('utf-8')=="性別":
sex=child.childNodes[0].nodeValue.encode('utf-8')
ifchild.nodeName.encode('utf-8')=="專業":
specialty=child.childNodes[0].nodeValue.encode('utf-8')
#組成html中的一行學生數據
student_tr="<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>"%(sid,name,sex,specialty)
#將這一行數據添加到總數據中
student_trs+=student_tr

#替換模板的<student_trs/>為我們上面所得到的html數據
html=template.replace("<student_trs/>",student_trs)

#輸入html結果到output.html
open("output.html","w").write(html)


#PS:你提供的xml數據有問題,確實了一個</students>標記
#正確的xml應該如下
"""
<?xmlversion="1.0"encoding="UTF-8"?>
<person>
<students>
<studentid="20140711">
<姓名>三</姓名>
<性別>男</性別>
<專業>計算機</專業>
</student>
</students>
</person>
"""

B. python讀取xml文件有哪些方法

1、以下幾種方法建議初學者使用:

下面的方法涉及知識比較多,熟練掌握上面方法後可以了解使用:

2、Dom讀取

3、Dom4j讀取
使用dom4j需要導入相關的jar包

import java.io.File;
import java.util.Iterator;
import java.util.List;


4、JDom讀取
使用jdom需要導入相關的jar包

import java.io.FileInputStream;

import java.io.InputStream;

5、Sax讀取

6、properties的讀取

C. python xml文件怎麼打開方式

關於python讀取xml文章很多,但大多文章都是貼一個xml文件,然後再貼個處理文件的代碼。這樣並不利於初學者的學習,希望這篇文章可以更通俗易懂的教如何使用python來讀取xml文件。

什麼是xml?

xml即可擴展標記語言,它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。

abc.xml

mxl.dom.minidom模塊被用來處理xml文件,所以要先引入。

xml.dom.minidom.parse()用於打開一個xml文件,並將這個文件對象dom變數。

documentElement用於得到dom對象的文檔元素,並把獲得的對象給root

每一個結點都有它的nodeName,nodeValue,nodeType屬性。

nodeName為結點名字。

nodeValue是結點的值,只對文本結點有效。

nodeType是結點的類型。catalog是ELEMENT_NODE類型

現在有以下幾種:

'ATTRIBUTE_NODE'
'CDATA_SECTION_NODE'
'COMMENT_NODE'
'DOCUMENT_FRAGMENT_NODE'
'DOCUMENT_NODE'
'DOCUMENT_TYPE_NODE'
'ELEMENT_NODE'
'ENTITY_NODE'
'ENTITY_REFERENCE_NODE'
'NOTATION_NODE'
'PROCESSING_INSTRUCTION_NODE'
'TEXT_NODE'

NodeTypes-有名常數

閱讀全文

與python獲取xml文件內容相關的資料

熱點內容
水準測量平差程序 瀏覽:78
cf如何解決網路誤封 瀏覽:952
折疊式文件夾是什麼意思 瀏覽:796
js彈窗登錄注冊 瀏覽:563
怎麼把游戲數據備份到另一個手機 瀏覽:361
微信封殺搶紅包神器破解教程 瀏覽:536
帶貨數據什麼時候更新 瀏覽:500
微信通訊錄復制到手機 瀏覽:498
編程貓怎麼連接音響 瀏覽:589
有沒有什麼app在家點餐 瀏覽:501
win10視頻文件看不到縮略圖注冊表 瀏覽:238
請上傳文件和視頻英語 瀏覽:413
win10拷貝文件失敗拒絕訪問 瀏覽:189
什麼叫app推廣報備 瀏覽:414
win10的文件查找在哪裡設置密碼 瀏覽:617
蘋果6plusitunesstore 瀏覽:971
qqiphone6在線手機軟體 瀏覽:407
文件怎麼轉發 瀏覽:94
數控機床編程與操作怎麼啟動 瀏覽:636
linux查找c文件是否存在 瀏覽:150

友情鏈接