簡體   English   中英

PyXB的示例:生成Python代碼並在XML元素內獲取屬性值

[英]Example with PyXB: Generate Python code and obtain Attribute value within XML Element

我很難開始使用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代碼

import po1
xml = open('po1.xml').read()
order = po1.CreateFromDocument(xml)

我了解可以在Element中獲取內容(例如order.billTo.name = Robert Smith),但是如何從屬性“國家”(即“美國”)中獲取值?

提前致謝!

參考: http : //pyxb.sourceforge.net/userref_pyxbgen.html

PyXB將XML屬性公開為Python屬性,與將XML元素公開為Python屬性的方式完全相同。 因此,您只需執行以下操作:

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

在XML中,屬性和元素位於不同的名稱空間中,而在Python中,它們共享一個名稱空間,因此,如果屬性和元素都使用相同的名稱,則PyXB將重命名該屬性。 在這種情況下,生成綁定時將發出診斷信息。 有關此過程的詳細信息,請參見使名稱沖突

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM