《Dive into python》
搜索法读取xml文档。对于大型的xml文档,如果还用遍历法就会非常的复杂,此时搜索法显得简单许多。使用方法:getElementsByTagName
Example:Config.xml
<?xml version="1.0"?>
<config>
<server id="server1"><account>account</account><pwd>pwd</pwd></server>
<server id="server2"><account>account</account><pwd>pwd</pwd></server>
</config>
Python操作
>>> xmldoc = minidom.parse('C:\\Python25\\code\\XML\\config.xml')
>>> serverlist = xmldoc.getElementsByTagName_r('server')
>>> serverlist
[<DOM Element: server at 0x122afd0>, <DOM Element: server at 0x 122c1c0>]
>>> serverlist[0].toxml()
u'<server id="server1"><account>account</account><pwd>pwd</pwd></server>'
>>> print serverlist[0].toxml()
<server id="server1"><account>account</account><pwd>pwd</pwd></server>
>>> print serverlist[1].toxml()
<server id="server2"><account>account</account><pwd>pwd</pwd></server>
>>> server1 = serverlist[0]
>>> server1
<DOM Element: server at 0x122afd0>
>>> account1 = server1.getElementsByTagName_r('account')
>>> account1
[<DOM Element: account at 0x122c0a8>]
>>> account1[0].toxml()
u'<account>account</account>'
>>> server1.attributes
<xml.dom.minidom.NamedNodeMap object at 0x011C63C0>
>>> server1.attributes.keys()
[u'id']
>>> server1.attributes.values()
[<xml.dom.minidom.Attr instance at 0x0122C030>]
>>> server1.attributes["id"]
<xml.dom.minidom.Attr instance at 0x0122C030>