1

参照: http://eli.thegreenplace.net/2012/03/15/processing-xml-in-python-with-elementtree/を使用

エラールートにはextend属性がありません

        import xml.etree.cElementTree as ET
        import sys
        a = ET.Element('quotationinput version="1.0"')
        b = ET.SubElement(a, 'authorisation')
        c = ET.SubElement(b, 'password')
        c.text = pwd
        d = ET.SubElement(a, 'productdetail')
        e = ET.SubElement(d, 'producttype')
        e.text = ""
        f = ET.SubElement(d, 'accommodationCode')
        f.text = ""
        g = ET.SubElement(d, 'startDate')
        g.text = start_date
        h = ET.SubElement(d, 'duration')
        h.text = duration
        i = ET.SubElement(d, 'unitCode')
        i.text = unit
        j = ET.SubElement(a, 'partydetail')
        k = ET.SubElement(j, 'adultCount')
        k.text = adults
        l = ET.SubElement(j, 'childCount')
        l.text = children
        m = ET.SubElement(j, 'babyCount')
        m.text = baby
        n = ET.SubElement(j, 'petCount')
        n.text = pets
        root = ET.Element('root')
        root.extend([a])
        tree = ET.ElementTree(root)
        tree.write(sys.stdout)
4

1 に答える 1

0

extend メソッドは 2.7 で新しく追加されたため、おそらく古いバージョンの python を使用しています。http://docs.python.org/2/library/xml.etree.elementtree.htmlを参照してください。

これを回避するには、次のように追加メソッドを使用できます。これはうまく機能します:-

root.append(a)

これは、定義していない変数のダミー値を含む出力です:-

% python.exe s.py
<root><quotationinput version="1.0"><authorisation><password>pwd</password></authorisation><productdetail><producttype /><accommodationCode /><startDate>start_date</startDate><duration>duration</duration><unitCode>unit</unitCode></productdetail><partydetail><adultCount>adults</adultCount><childCount>children</childCount><babyCount>baby</babyCount><petCount>pets</petCount></partydetail></quotationinput version="1.0"></root>
于 2012-12-13T16:10:23.013 に答える