title: Parse XML file with namespace with Python
body: <p>I have a complex xml I'm trying to extract data from. </p>
  
  <pre><code>&lt;?xml version="1.0" ?&gt;
  &lt;root xmlns="something.something.com"&gt;
      &lt;Save&gt;
          &lt;AdditionalInfo&gt;
              &lt;Name&gt;&lt;/Name&gt;
              &lt;Time&gt;&lt;/Time&gt;
              &lt;UtilityVersion&gt;&lt;/UtilityVersion&gt;
              &lt;XMLVersion&gt;&lt;/XMLVersion&gt;
              &lt;PluginName&gt;&lt;/PluginName&gt;
              &lt;ClassName&gt;&lt;/ClassName&gt;
          &lt;/AdditionalInfo&gt;
          &lt;Data&gt;
              &lt;session&gt;
                  &lt;xyDataObjects&gt;
                      &lt;xyData Key="'info'" ObjectType="moreinfo" Type="evenmoreinfo"&gt;
                          &lt;axis1QuantityType ObjectType="guesswhat" Type="info!"&gt;
                              &lt;label&gt;&lt;/label&gt;
                              &lt;type&gt;&lt;/type&gt;
                          &lt;/axis1QuantityType&gt;
      ... and so on and so on
  </code></pre>
  
  <p>The file has multiple blocks starting and ending with the Save and /Save blocks and the info I'm looking for can be as far as the label, or even farther.</p>
  
  <p>ElementTree.Iter seemed to be my solution as it would iterate through every Save block and find the <code>&lt;label&gt;</code> info I am looking for, but unfortunately, it doesn't accept a namespace argument.</p>
  
  <p>What are my other options? I'm trying to keep my code flexible, as I foresee that the structure of the xml file could change in the future, and simple so I would rather not implement something like:</p>
  
  <pre><code>tree= ET.parse('dblank.xml')
  root = tree.getroot()
  for i in range(len(root)):
          Array[i]=root[i][1][0][0][0][0][0].text
  </code></pre>