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

1 投票
1 回答
2093 浏览
提问于 2025-04-17 04:36

我正在使用以下语句来打印标题标签的值,运行得很好。不过我还想打印 <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 个回答

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'}

撰写回答