使用元素树打印XML标记属性

时间:2011-10-19 08:11:52

标签: python xml-parsing

我正在使用以下语句来打印Title标签的值。它的工作正常。但我也想打印<page id='...' .......这可能吗?感谢

            <mediawiki>
          <siteinfo>
            <sitename>Wiki</sitename>
            <namespaces>
              <namespace key="-2" case="first-letter">Media</namespace>
            </namespaces>
          </siteinfo>
        <page id="31239628" orglength="6822" newlength="4524" stub="0" categories="0" outlinks="1" urls="10">
        <title>Title</title>
        <categories></categories>
        <links>15099779</links>
        <urls>
        </urls>
        <text>

        Books

        </text>
        </page>

        </mediawiki>

这是我的工作代码。其中打印标题标签值。

import xml.etree.cElementTree as etree
tree = etree.parse('find_title.xml')
for value in tree.getiterator(tag='title'):
    print value.text

1 个答案:

答案 0 :(得分:2)

您可以尝试以下操作:

import xml.etree.cElementTree as etree
from pprint import pprint
tree = etree.parse('find_title.xml')
for value in tree.getiterator(tag='title'):
    print value.text
for value in tree.getiterator(tag='page'):
    pprint(value.attrib)

应输出如下内容:

$ python file.py
Title
{'categories': '0',
 'id': '31239628',
 'newlength': '4524',
 'orglength': '6822',
 'outlinks': '1',
 'stub': '0',
 'urls': '10'}