如何创建一个类来描述元素的XML属性?

2024-06-25 06:15:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用tornado-webservices

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”?你知道吗

或者其他图书馆?你知道吗


Tags: web示例servicexmltornadoclasscidbuilding
1条回答
网友
1楼 · 发布于 2024-06-25 06:15:54

我假设您只对xml解析感兴趣,下面是一个简短的演示,minidom是我使用的第一个python库。你知道吗

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

相关问题 更多 >