[Tutor] how to get data from xml

Kent Johnson kent37 at tds.net
Tue Apr 4 12:06:24 CEST 2006


ទិត្យវិរៈ wrote:
> Dear all Pythoners,
> 
> I am quiet new to python and now working with xml. I have an xml like this:
> 
> <?xml version="1.0" encoding="utf-8"?>
> <fonttables>
>     <table name="abc">
>         <CONSONANTS>
>             <KA>0x6B</KA>
>             <KHA>0x78</KHA>
>             <KO>0x4B</KO>
>             <KHO>0x58</KHO>
>             <NGO>0x67</NGO>
>             <CHA>0x63</CHA>
>             <CHHA>0x71</CHHA>
>             <CHO>0x43</CHO>
>             <CHHO>0x51</CHHO>
>             <NYO>0x6A</NYO>
> 
> 
> and I want to get data for KA, KHA, KO and so on. Can you guide me a
> way. Btw, I'm using dom for xml.

I don't know much about xml.dom but it is easy with ElementTree:

data = '''<?xml version="1.0" encoding="utf-8"?>
<fonttables>
     <table name="abc">
         <CONSONANTS>
             <KA>0x6B</KA>
             <KHA>0x78</KHA>
             <KO>0x4B</KO>
             <KHO>0x58</KHO>
             <NGO>0x67</NGO>
             <CHA>0x63</CHA>
             <CHHA>0x71</CHHA>
             <CHO>0x43</CHO>
             <CHHO>0x51</CHHO>
             <NYO>0x6A</NYO>
         </CONSONANTS>
     </table>
</fonttables>
'''

from elementtree import ElementTree as ET

doc = ET.fromstring(data)

consonants = doc.find('.//CONSONANTS')
for consonant in consonants:
     print consonant.tag, consonant.text


Kent



More information about the Tutor mailing list