我正在尝试使用dexml解析以下xml:
<ticketDetail>
<ticketId>int</ticketId>
.....
</ticketDetail>
<participants>
<ParticipantDetailExt>
<participantId>int</participantId>
...
</ParticipantDetailExt>
<ParticipantDetailExt>
<participantId>int</participantId>
...
</ParticipantDetailExt>
</participants>
我的模型如下:
^{pr2}$但是,当所有未嵌套的元素都正确解析时,参与者并没有被解析并加载到对象结构中。如何使用dexml对这种类型的结构建模?在
下面是示例代码:
#!/usr/bin/env python3
import xml.etree.ElementTree as ET
import dexml
from dexml import fields
samplexml = """<ticketDetail>
<ticketId>1</ticketId>
<participants>
<ParticipantDetailExt>
<participantId>2</participantId>
</ParticipantDetailExt>
<ParticipantDetailExt>
<participantId>3</participantId>
</ParticipantDetailExt>
</participants>
</ticketDetail>"""
class Participant(dexml.Model):
class meta:
tagname = "ParticipantDetailExt"
participantId = fields.Integer(tagname='participantId')
class Ticket(dexml.Model):
class meta:
tagname = "ticketDetail"
ticketId = fields.String(tagname='ticketId')
participants = fields.List(Participant)
myTk = Ticket.parse(samplexml)
print(myTk.ticketId)
print(len(myTk.participants))
Output is:
1
0
Expected Output would be:
1
2
尝试将
tagname
添加到您的List()
:示例程序:
^{pr2}$相关问题 更多 >
编程相关推荐