2012-07-04 29 views
6

例如我的XML文件中包含:Python中有沒有任何方式或任何框架來從xml創建對象模型?

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

,我想從XML 檢索對象例如返回的對象結構是這樣的

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

我發現我的答案 我使用物化在LXML包

這是一個示例代碼:

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) 

它打印:

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' 
相關問題