擅长:python、mysql、java
<p>一种方法是首先查看<code>member.find('currentAddress')</code>是否返回<code>None</code>。如果是这样的话,那就让这座城市变得“未知”。如果不是,则使用<code>address_tag.attrib.get('city')</code>提取城市。您还可以检查“city”是否是现有属性之一。你知道吗</p>
<pre><code>from xml.etree import ElementTree
myxml = """<?xml version = '1.0' encoding = 'UTF-8'?>
<ns2:exportEmpData xmlns:ns2="http://webservice.example.com/">
<emplist>
<empId>6029</empId>
<fullName>Justin Clark</fullName>
<currentAddress houseNumber="14" street="Lepanto" city="Barcelona"/>
</emplist>
<emplist>
<empId>6078</empId>
<fullName>Jose Domingo</fullName>
</emplist>
</ns2:exportEmpData>
"""
tree = ElementTree.ElementTree(ElementTree.fromstring(myxml))
for member in tree.findall('emplist'):
city = 'Unknown' # Default value if we don't find a city
address_tag = member.find('currentAddress')
if address_tag is not None:
city = address_tag.attrib.get('city')
print("City is %s" % city)
</code></pre>