为了方便地在python中处理XML,我喜欢Beautiful
Soup库。它的工作原理如下:
示例XML文件:
<root> <level1>leaf1</level1> <level2>leaf2</level2></root>
Python代码:
from BeautifulSoup import BeautifulStoneSoup, Tag, NavigableStringsoup = BeautifulStoneSoup('config-template.xml') # get the parser for the xml filesoup.contents[0].name# u'root'您可以将节点名称用作方法:
soup.root.contents[0].name# u'level1'
也可以使用正则表达式:
import retags_starting_with_level = soup.findAll(re.compile('^level'))for tag in tags_starting_with_level: print tag.name# level1# level2添加和插入新节点非常简单:
# build and insert a new level with a new leaflevel3 = Tag(soup, 'level3')level3.insert(0, NavigableString('leaf3')soup.root.insert(2, level3)print soup.prettify()# <root># <level1># leaf1# </level1># <level2># leaf2# </level2># <level3># leaf3# </level3># </root>


