<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-GB link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>Hello Guys,<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>I’m looking for some help building a function which
can parse some XML for me using ElementTree. The document is of a very consistent
format and I’ve copied an example of the document below.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><?xml version="1.0" encoding="UTF-8"
?><o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><record><o:p></o:p></p>

<p class=MsoNormal>        <attribute id="0x0000"><o:p></o:p></p>

<p class=MsoNormal>                <uint32 value="0x00010005"
/><o:p></o:p></p>

<p class=MsoNormal>        </attribute><o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>        <attribute id="0x0001"><o:p></o:p></p>

<p class=MsoNormal>                <sequence><o:p></o:p></p>

<p class=MsoNormal>                        <uuid value="0x1105"
/><o:p></o:p></p>

<p class=MsoNormal>                </sequence><o:p></o:p></p>

<p class=MsoNormal>        </attribute><o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>        <attribute id="0x0003"><o:p></o:p></p>

<p class=MsoNormal>                <uuid value="0xe005" /><o:p></o:p></p>

<p class=MsoNormal>        </attribute><o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>        <attribute id="0x0004"><o:p></o:p></p>

<p class=MsoNormal>                <sequence><o:p></o:p></p>

<p class=MsoNormal>                        <sequence><o:p></o:p></p>

<p class=MsoNormal>                                <uuid
value="0x0100" /><o:p></o:p></p>

<p class=MsoNormal>                        </sequence><o:p></o:p></p>

<p class=MsoNormal>                        <sequence><o:p></o:p></p>

<p class=MsoNormal>                                <uuid
value="0x0003" /><o:p></o:p></p>

<p class=MsoNormal>                                <uint8
value="0x05" /><o:p></o:p></p>

<p class=MsoNormal>                        </sequence><o:p></o:p></p>

<p class=MsoNormal>                        <sequence><o:p></o:p></p>

<p class=MsoNormal>                                <uuid
value="0x0008" /><o:p></o:p></p>

<p class=MsoNormal>                        </sequence><o:p></o:p></p>

<p class=MsoNormal>                </sequence><o:p></o:p></p>

<p class=MsoNormal>        </attribute><o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>        <attribute id="0x0005"><o:p></o:p></p>

<p class=MsoNormal>                <sequence><o:p></o:p></p>

<p class=MsoNormal>                        <uuid value="0x1002"
/><o:p></o:p></p>

<p class=MsoNormal>                </sequence><o:p></o:p></p>

<p class=MsoNormal>        </attribute><o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>        <attribute id="0x0009"><o:p></o:p></p>

<p class=MsoNormal>                <sequence><o:p></o:p></p>

<p class=MsoNormal>                        <sequence><o:p></o:p></p>

<p class=MsoNormal>                                <uuid
value="0x1105" /><o:p></o:p></p>

<p class=MsoNormal>                                <uint16
value="0x0100" /><o:p></o:p></p>

<p class=MsoNormal>                        </sequence><o:p></o:p></p>

<p class=MsoNormal>                </sequence><o:p></o:p></p>

<p class=MsoNormal>        </attribute><o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>        <attribute id="0x0100"><o:p></o:p></p>

<p class=MsoNormal>                <text value="OBEX Object Push"
/><o:p></o:p></p>

<p class=MsoNormal>        </attribute><o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>        <attribute id="0x0303"><o:p></o:p></p>

<p class=MsoNormal>                <sequence><o:p></o:p></p>

<p class=MsoNormal>                        <uint8 value="0x01"
/><o:p></o:p></p>

<p class=MsoNormal>                        <uint8 value="0x03"
/><o:p></o:p></p>

<p class=MsoNormal>                        <uint8 value="0x05"
/><o:p></o:p></p>

<p class=MsoNormal>                        <uint8 value="0x06"
/><o:p></o:p></p>

<p class=MsoNormal>                        <uint8 value="0xff"
/><o:p></o:p></p>

<p class=MsoNormal>                </sequence><o:p></o:p></p>

<p class=MsoNormal>        </attribute><o:p></o:p></p>

<p class=MsoNormal></record><o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Now, the piece of information I’m looking to retrieve is
inside the <attribute id="0x0004"> element and is, in this
example <uint8 value="0x05" />, however I want the function to
return the standard integer value and not the unit8 encoded version, so instead
of my function returning ‘0x05’ it just needs to return ‘5’
which is the standard integer version.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>I will be passing this XML into the function as a string, so
the function will be formed something like this:<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Def myFunction(XmlAsString):<o:p></o:p></p>

<p class=MsoNormal>                Pass the xml and exract my value....<o:p></o:p></p>

<p class=MsoNormal>                <o:p></o:p></p>

<p class=MsoNormal>                Return the value as an integer...<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>I’m not sure on the best method to do this, I just
want something nice and quick, lightweight and that’s not resource hungry.
Can anyone offer some advice on this?<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Thanks guys,<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Rob<o:p></o:p></p>

</div>

</body>

</html>