2013-11-16 2 views
0

Я довольно новичок в общении с xml, python и соскабливающими данными, поэтому несите меня, пожалуйста: У меня есть xml-файл с моими заметками, сохраненными из evernote. Я смог загрузить BeautifulSoup и lxml в свою среду python. Я также был в состоянии загрузить файл XML и распечататьКак я могу извлечь конкретные XML-теги из локального xml-файла с помощью python?

Heres мой код до тех пор печати:

from bs4 import BeautifulSoup 
from xml.dom.minidom import parseString 
file = open('myNotes.xml','r') 
data = file.read() 
dom = parseString(data) 
print data.toxml() 

я не включил фактический напечатанный файл, поскольку он содержит много основания 64 кода.

То, что я пытаюсь сделать, - извлечь выбранные теги xml и распечатать их в новом файле ... help!

ответ

1

Это как использовать BeautifulSoup для печати XML

from bs4 import BeautifulSoup 

soup = BeautifulSoup(open('myNotes.xml','r')) 
print(soup.prettify()) 

И писать в файл:

with open("file.txt", "w") as f: 
    f.write(soup.prettify()) 

Теперь, чтобы извлечь все определенного типа тега списка:

# Extract all of the <a> tags:  
tags = soup.find_all('a') 
+1

Вам не нужно 'read()' в файле ('BeautifulSoup' принимает указатель файла). Кроме того, вы можете указать лучший синтаксический анализатор для xml. 'soup = BeautifulSoup (open ('myNotes.xml', 'r'), 'lxml')' – mattexx

+0

Спасибо! что он работал, я смог извлечь все теги и распечатать их в новом файле. – tijanicharles

Смежные вопросы