How do I use QName (python xml.etree.ElementTree?)

后端 未结 1 484
情歌与酒
情歌与酒 2021-01-02 17:34

I have done a fair amount of reading on QName but I can\'t find any good examples of how to use it. Could someone give me a simple example of how to use QName and explain w

相关标签:
1条回答
  • 2021-01-02 18:06

    QName can be used when constructing XML documents with attributes that are in a different namespace than the containing element. Example (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)
    

    Output:

    <x:root xmlns:x="http://example1.com" xmlns:y="http://example2.com" y:attr="test" />
    

    One application for which this can be useful is XLink.

    0 讨论(0)
提交回复
热议问题