一、xml格式及使用
<?xml version="1.0" encoding="utf-8"?> /*指明該xml的版本、編碼方式,在xml文件的處理中都是使用utf-8編碼進行的,因此,如果你不寫明encoding的話,都是認為檔案是utf-8編碼的*/4
python
測試zope
xml資訊體是由樹狀元素組成。每個xml文件都有乙個文件元素,也就是樹的根元素,所有其它的元素和內容都包含在根元素中。
二、python處理xml的方法
python中有三種方式處理xml。這裡選擇的是xml.dom.*
檔案物件模型(document object model,簡稱dom),是w3c組織推薦的處理可擴充套件置標語言的標準程式設計介面。乙個 dom 的解析器在解析乙個xml文件時,一次性讀取整個文件,把文件中所有元素儲存在記憶體中的乙個樹結構裡,之後你可以利用dom 提供的不同的函式來讀取或修改文件的內容和結構,也可以把修改過的內容寫入xml檔案。python中用xml.dom.minidom來解析xml檔案
①讀取
# 獲取路徑
path_file = os.path.abspath(os.path.abspath('..'))
logging.config.fileconfig("../config/logger.config")
def number(location):
""":param location:
:return:
"""dom = xml.dom.minidom.parse(path_file + '/config/numberinfo.xml')
root = dom.documentelement
value = root.getelementsbytagname('valuenum')[location].getattribute('id')
logging.info(u'獲得的屬性值為: %s' % value)
return value
②寫入讀取xml中的id,並id進行+2處理,然後存入xml
# 獲取路徑
path_file = os.path.abspath(os.path.abspath('..'))
logging.config.fileconfig("../config/logger.config")
def usernamechange(location):
""":param location:
:return:
"""dom = xml.dom.minidom.parse(path_file + '/config/numberinfo.xml')
root = dom.documentelement
value = root.getelementsbytagname('valuenum')[location].getattribute('id')
domattr = root.getelementsbytagname('valuenum')[location]
num = numlist(value)
# logging.info(u'獲得的屬性值為: %s' % num)
domattr.setattribute('id', num)
logging.info(u'修改id獲得的屬性值為: %s' % domattr.getattribute('id'))
f = file(path_file + '/config/logininfo.xml', 'w')
writer = codecs.lookup('utf-8')[3](f)
dom.writexml(writer, encoding='utf-8')
return num
三、遇到的問題
中間處理xml資料寫入時,遇到處理後的資料無法寫入的情況,後經排查後,是因為xml調取路徑是寫入到方法內部了。因此每次調取方法都重新重置了xml。從而導致無法寫入。
把xml調取路徑的內容寫到公共部分,就可以解決該問題
python之xml檔案解析
xml檔案內容如下 4maxid username pytest passwd 123456 pythoncaption 4 測試caption item login 2 zopecaption item catalog import xml.dom.minidom 開啟xml文件 dom xml....
XML解析之 MSXML應用總結 概念篇
一 msxml版本說明 目前共有四種msxml版本,分別為msxml3 msxml4 msxml5和msxml6。由於在微軟的windows系統中,msxml主要是用來支援瀏覽器和office的,因此這些版本多與不同瀏覽器版本及office版本相關。微軟推出ie6時帶的是msxml3,因此一般在xp...
xml解析學習
1 xml是標記型文件 2 xml的解析方式 技術 dom和sax 3 js使用dom解析標記型文件,dom解析。根據html的層級結構,在記憶體中分配乙個樹形結構,把html的標籤 屬性 文字都封裝成物件 document物件 element物件 屬性物件 文字物件 node節點物件 4 sax方...