學習筆記 Python XML解析

2021-10-02 03:37:56 字數 2545 閱讀 3370

xml.sax

菜鳥教程:

官網文件:

python由xml包(lib/xml)提供對xml的支援。

python處理xml主要有兩種模型,xml.domxml.sax分別定義了兩種處理模型的介面:

the xml handling submodules are:

手冊:inte***ce

section

purpose

domimplementationdomimplementation objects

inte***ce to the underlying implementation.

nodenode objects

base inte***ce for most objects in a document.

nodelistnodelist objects

inte***ce for a sequence of nodes.

documenttypedocumenttype objects

information about the declarations needed to process a document.

documentdocument objects

object which represents an entire document.

elementelement objects

element nodes in the document hierarchy.

attrattr objects

attribute value nodes on element nodes.

commentcomment objects

representation of comments in the source document.

texttext and cdatasection objects

nodes containing textual content from the document.

processinginstructionprocessinginstruction objects

processing instruction representation.

import xml.dom.minidom

cproject = r'.cproject'

dom = xml.dom.minidom.parse(cproject)

options = dom.getelementsbytagname(

'option'

)for opt in options:

if opt.getattribute(

'superclass')==

'gnu.c.compiler.option.preprocessor.def.symbols'

: nod_text = opt.childnodes[0]

nod_elem = opt.childnodes[1]

last_child = opt.lastchild

nod_text = nod_text.clonenode(

false

) nod_elem = nod_elem.clonenode(

false

) nod_elem.setattribute(

'value'

,'gi_commit="%s"'

% git_commit)

opt.insertbefore(nod_text, last_child)

opt.insertbefore(nod_elem, last_child)

nod_text = nod_text.clonenode(

false

) nod_elem = nod_elem.clonenode(

false

) nod_elem.setattribute(

'value'

,'git_branch="%s"'

% git_branch)

opt.insertbefore(nod_text, last_child)

opt.insertbefore(nod_elem, last_child)

break

f =open

(cproject,

'w')

dom.writexml(f, cproject+

'.new'

)

**功能是修改eclipse的工程檔案(.cproject),增加巨集定義git_commit和git_branch,將當前編譯版本的原始碼git commit id和分支名編入版本。

python xml解析例子

coding utf 8 created on thu apr 16 23 18 27 2015 author shifeng 功能 解析cdr sample.xml檔案,輸出格式為dnorm接收的格式,並將訓練集的 label 寫入到文件中 xml檔案 見csdn資源共享 import codec...

PythonXML檔案解析

sax是一種基於事件驅動的api。利用sax解析xml文件牽涉到兩個部分 解析器和事件處理器。解析器負責讀取xml文件,並向事件處理器傳送事件,如元素開始跟元素結束事件 而事件處理器則負責對事件作出相應,對傳遞的xml資料進行處理。適於處理下面的問題 在python中使用sax方式處理xml要先引入...

python xml解析和生成

解析使用xml.etree.elementtree 模組,生成使用xml.dom.minidom模組,elementtree比dom快,dom生成簡單且會自動格式化。xml version 1.0 encoding utf 8 baspools bas basprovider 0 basprovid...