2017-03-03 161 views
1

我使用tornado-webservices如何創建一個類來描述元素的XML屬性?

示例XML:

<BuildingList CID=」LTP01831」> 
    <Building> 
     <BAID>01</BAID> 
     <BAName>BuildingA</BAName> 
     <UpdNo>13</UpdNo> 
    </Building> 
    …. 
</BuildingList> 

相應的類:

class Building(complextypes.ComplexType): 
    BAID = str 
    BAName = str 
    UpdNo = str 

class BuildingList(complextypes.ComplexType): 
    list = [Building] 

如何元素 「BuildingList」 形容屬性 「CID」?

或其他建議圖書館?

回答

0

我假設你只對xml解析感興趣,下面是一個簡短的演示,minidom是我使用的第一個python lib。

from xml.dom import minidom 

dom = minidom.parse('test.xml') 
nodeList = dom.getElementsByTagName('BuildingList') 
cid = nodeList[0].getAttribute('CID') 
for node in nodeList: 
    blist = dom.getElementsByTagName('Building') 
    for bnode in blist: 
     ba_id = dom.getElementsByTagName('BAID')[0].firstChild.nodeValue 
     ba_name = dom.getElementsByTagName('BAName')[0].firstChild.nodeValue 
     upd_no = dom.getElementsByTagName('UpdNo')[0].firstChild.nodeValue 
     line = '{0} {1} {2} {3}'.format(cid, ba_id, ba_name, upd_no) 
     print line 


結果是:

LTP01831 01 BuildingA 13