#python #xml-parsing
#python #xml-синтаксический анализ
Вопрос:
Я использую следующие инструкции для печати значения тега 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:
Вы можете попробовать следующее:
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'}
Комментарии:
1. Его рабочее спасибо. Мне нужен только один вопрос
id
. Так ли это правильноprint(value.attrib['0'])
. спасибо `2. это еще проще pprint(value.attrib[‘id’])
3. Я смотрю
<page id='...'>
, существует ли<title>
значение для печати.tree.find("//page[id='31239628']/title").text
есть предложения?4. если tree.getiterator(tag=’страница’): найдите заголовок, как указано выше.