Как мне использовать QName (python xml.etree.ElementTree?)
Я довольно много читал о QName, но не могу найти хороших примеров того, как его использовать. Может ли кто-нибудь дать мне простой пример того, как использовать QName, и объяснить, в каком контексте он будет использоваться?
1 ответ
QName
может использоваться при создании XML-документов с атрибутами, которые находятся в другом пространстве имен, чем содержащий элемент. Пример (Python 2.7):
from xml.etree import ElementTree as ET
NS1 = "http://example1.com"
NS2 = "http://example2.com"
ET.register_namespace("x", NS1)
ET.register_namespace("y", NS2)
qname1 = ET.QName(NS1, "root") # Element QName
qname2 = ET.QName(NS2, "attr") # Attribute QName
root = ET.Element(qname1, {qname2: "test"})
print ET.tostring(root)
Выход:
<x:root xmlns:x="http://example1.com" xmlns:y="http://example2.com" y:attr="test" />
Одним из приложений, для которого это может быть полезно, является XLink.