PyXB示例:在XML Elemen中生成Python代码并获取属性值

2024-09-27 09:36:59 发布

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

我很难开始使用PyXB。在

以这个XML文件为例:

<?xml version="1.0"?>
<purchaseOrder orderDate="1999-10-20">
  <shipTo country="US">
    <name>Alice Smith</name>
    <street>123 Maple Street</street>
    <city>Anytown</city><state>AK</state><zip>12341</zip>
  </shipTo>
  <billTo country="US">
    <name>Robert Smith</name>
    <street>8 Oak Avenue</street>
    <city>Anytown</city><state>AK</state><zip>12341</zip>
  </billTo>
</purchaseOrder>

假设我成功地创建了Python库pol.py公司以下内容:

Python代码

^{pr2}$

我知道我可以获得元素内的内容(例如。订单.billTo.name=Robert Smith),但如何从属性“country”(即“US”)获取值?在

提前谢谢!在

参考文献: http://pyxb.sourceforge.net/userref_pyxbgen.html


Tags: namestreetcityziprobertcountryusak
1条回答
网友
1楼 · 发布于 2024-09-27 09:36:59

PyXB将XML属性作为Python属性公开,其方式与XML元素作为Python属性公开的方式完全相同。所以你只需要:

print(order.billTo.name)
print(order.billTo.country)

在XML中,属性和元素位于不同的名称空间中,而在Python中它们共享一个名称空间,因此如果属性和元素都使用相同的名称,则属性将由PyXB重命名。在这种情况下生成绑定时,将发出诊断。有关此过程的详细信息,请参见Deconflicting Names。在

相关问题 更多 >

    热门问题