python - 如何使用 QName(python xml.etree.ElementTree?)

标签 python xml elementtree xml.etree qnames

我已经阅读了大量关于 QName 的资料,但我找不到任何关于如何使用它的好例子。有人可以给我一个简单的例子来说明如何使用 QName 并解释它将在什么上下文中使用吗?

最佳答案

QName 可以在构造具有与包含元素不同的 namespace 中的属性的 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 .

关于python - 如何使用 QName(python xml.etree.ElementTree?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31061996/

相关文章:

java - 简单-XML : Overriding an element name at runtime

python - 元素树python中具有属性的xpath表达式

python - Python 的 reversed() 函数是如何工作的?

java - 序言中不允许引用

c# - XDocument 丢失行号

python-xml : Not well-formed (invalid token) - xml. etree utf模式

python - 如何使用 etree.Element 从 xml 条目中插入文本

Python 并行执行 - threading.Lock 未按预期工作

python - 如何在Python networkx中的节点名称旁边添加节点属性?

python - tkinter 在 for 循环中创建按钮并传递命令参数