2012-07-04 11 views
6

na przykład mój plik xml zawiera:Czy istnieje sposób lub dowolny framework w Pythonie, aby utworzyć model obiektu z xml?

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

i chcę, aby pobrać obiekt z xml np zwrócony obiekt struktury być jak ten

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=[] 

Odpowiedz

4

Znalazłem moją odpowiedź I Używane obiektywizują w opakowaniu lxml

jest to kod próbki:

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) 

drukuje:

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' 
Powiązane problemy