6

for example my xml file contains :

<layout name="layout1">
    <grid>
        <row>
            <cell colSpan="1" name="cell1"/>
        </row>
        <row>
            <cell name="cell2" flow="horizontal"/>
        </row>
    </grid>
</layout>

and I want to retrieve an object from the xml for example returned object structure be like this

class layout(object):
     def __init__(self):
         self.grid=None
class grid(object):
     def __init__(self):
         self.rows=[]
class row(object):
     def __init__(self):
         self.cels=[]
4

1 に答える 1

4

I've found my answer I used objectify in lxml package

this is a sample code:

from lxml import objectify

root = objectify.fromstring("""
 <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <a attr1="foo" attr2="bar">1</a>
   <a>1.2</a>
   <b>1</b>
   <b>true</b>
   <c>what?</c>
   <d xsi:nil="true"/>
 </root>
""")

print objectify.dump(root)

it prints:

root = None [ObjectifiedElement]
    a = 1 [IntElement]
      * attr1 = 'foo'
      * attr2 = 'bar'
    a = 1.2 [FloatElement]
    b = 1 [IntElement]
    b = True [BoolElement]
    c = 'what?' [StringElement]
    d = None [NoneElement]
      * xsi:nil = 'true'
于 2012-07-04T16:27:13.920 に答える