0

Python 2.5 と WinXP を使用しています。私は以下のようにxmlファイルを解析しています:

<Test>
<Default_Config>
  <LINK>{1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6}</LINK> 
  <Lanestat>{1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12}</Lanestat> 
  </Default_Config>
  </Test>

ただし、印刷すると、出力は次のようになります。

(None, '{1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6}')
(None, '{1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12}')

質問: Link と Lanestat が None の代わりに表示されるようにコードを変更する方法。tq コード:

import elementtree.ElementTree as ET

tree = ET.parse("dict1.xml")
doc = tree.getroot()


for elem in doc.findall('Default_Config/LINK'):
    #print elem.get('LINK'), elem.text
    a=elem.get('LINK'), elem.text
    print a

for elem in doc.findall('Default_Config/Lanestat'):

    #print elem.get('LINK'), elem.text
    a=elem.get('LINK'), elem.text
    print a
4

2 に答える 2

1
import xml.etree.ElementTree as ET

tree = ET.parse("dict1.xml")
doc = tree.getroot()

for elem in doc.findall('Default_Config/LINK'):
    a = elem.tag, elem.text
    print a

for elem in doc.findall('Default_Config/Lanestat'):
    a = elem.tag, elem.text
    print a

=>

('LINK', '{1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6}')
('Lanestat', '{1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12}')
于 2011-04-12T13:47:15.780 に答える
0

a = elem.get('LINK')の代わりにa=elem.tagを使用してみてください

import elementtree.ElementTree as ET

tree = ET.parse("dict1.xml")
doc = tree.getroot()

for elem in doc.findall('Default_Config/LINK'):
    a=elem.tag, elem.text
    print a

for elem in doc.findall('Default_Config/Lanestat'):
    a=elem.tag, elem.text
    print a
于 2011-04-12T13:45:15.530 に答える