4

Python (2.7) で cElementTree iterparse を使用して XML 属性値を取得する方法を見つけようとしています。私のXMLは次のようなものです:

<root>
  <record attr1="a" attr2="b" attr3="c" ... />
  <record attr1="x" attr2="y" attr3="z" ... />
  ...
</root>

私のコードは次のようなものです:

context = ET.iterparse(sys.stdin, events=('start','end'))
context = iter(context)
event, root = context.next()

for event, elem in context:
    if event == 'end' and elem.tag == 'record':
        # get the attributes!! 
    elem.clear()
    root.clear()

私は標準入力からのビッグデータを扱っています。私はこれを理解する運がありません。誰かがこれを行う方法(最適?)を教えてもらえますか?

4

1 に答える 1

4

おっと、私の顔をじっと見つめています。

要約すれば:

elem.get('attr_name', default_value)

また、

for name, value in elem.items():

また、

elem.attrib() - dictionary

また、質問に投稿されたコードを変更する必要があったことも付け加えておきます。

...
if event == 'start' and elem.tag == 'record':
... 
于 2013-04-08T14:35:02.553 に答える