Python操作XML

来源:互联网 发布:js教程下载 编辑:程序博客网 时间:2024/05/14 14:09


from xml.etree.ElementTree import ElementTreefrom xml.etree.ElementTree import Elementfrom xml.etree.ElementTree import SubElementfrom xml.etree.ElementTree import dumpfrom xml.etree.ElementTree import Commentfrom xml.etree.ElementTree import tostring#url = "http://itms-server/Media_ConfigFiles/Media_File2File_Mpeg2toMpeg2_Single_001.xml"'''<?xml version="1.0"?><PurchaseOrder>  <account refnum="2390094"/>  <item sku="33-993933" qty="4">    <name>Potato Smasher</name>    <description>Smash Potatoes like never before.</description>  </item></PurchaseOrder>'''#f = open("book.xml", 'w')#f.close()book = ElementTree()purchaseorder = Element('PurchaseOrder')book._setroot(purchaseorder)SubElement(purchaseorder, 'account', {'refnum' : "2390094"})item = Element("item", {'sku' : '33-993933', 'qty' : '4'})purchaseorder.append(item)print item.items()print item.attribprint item.get('sku')SubElement(item, 'name').text = "Potato Smasher"SubElement(item, 'description').text = "Smash Potatoes libe never before"##displaying the content of the xml docuemnt''''''print purchaseorder.find('account')print purchaseorder.find('account').get('refnum')print purchaseorder.findall('account')[0].get('refnum')print purchaseorder.find('item/name')print purchaseorder.find('item/name').textprint ElementTree(item).getroot().find('name').textprint ElementTree(file='book.xml').getroot().find('item/description').textfor element in purchaseorder.getiterator():    print element.tagdef indent(elem, level=0):    i = "\n" + level*"  "    if len(elem):        if not elem.text or not elem.text.strip():            elem.text = i + "  "        for e in elem:            indent(e, level+1)        if not e.tail or not e.tail.strip():            e.tail = i    if level and (not elem.tail or not elem.tail.strip()):        elem.tail = i    return elemif __name__ == "__main__":    dump(indet(purchaseorder))    book.write('book.xml', "utf-8")