Я пытаюсь использовать этот код, чтобы добавить в дерево xml простую информацию, которая у меня есть в таблице. Каждый файл имеет свой идентификатор, который мне нужно добавить в него. словарь соответствия имеет имена файлов и пары идентификаторов. в xml уже есть пустой элемент, называемый idno [@ type = 'TM'], в котором мне нужно ввести соответствующий номер идентификатора.Beautifulsoup xml
from bs4 import BeautifulSoup
DIR = 'files/'
corresp = {"00100004":"362375", "00100005":"362376", "00100006":"362377", "00100007":"362378"}
for fileName, tm in corresp.iteritems():
soup = BeautifulSoup(open(DIR + fileName + ".xml"))
tmid = soup.find("idno", type="TM")
tmid.append(tm)
print soup
Моя первая проблема заключается в том, что некоторое время это работает, через некоторое время он говорит
tmid.append(tm)
AttributeError: 'NoneType' object has no attribute 'append'
Я понятия не имею, почему. вчера вечером я запускаю тот же пример кода, и теперь он жалуется таким образом.
Я также попытался etree
import xml.etree.ElementTree as ET
DIR = 'files/'
corresp = {"00100004":"362375", "00100005":"362376", "00100006":"362377", "00100007":"362378"}
for fileName, tm in corresp.iteritems():
f = open(DIR + fileName + ".xml")
tree = ET.parse(f)
tmid = tree.findall("//idno[@type='TM']")
tmid.append(tm)
tree.write('output.xml', encoding='utf-8', xml_declaration=True)
Но он говорит: «ни один элемент не найден: линия 1, столбец 0»
Мой второй, вероятно, связанная с этим проблема в том, что, когда он сделал работу, я не был способный записывать вывод в файл. В идеале я хотел бы просто записать его обратно в файл, который я модифицирую.
Благодарим вас за консультацию.
попробовать --- из BS4 импорт BeautifulSoup импорт OS DIR = 'файлы /' корень = os.path.abspath (DIR) = {-корреспондент "00100004": «362375», «00100005»: «362376», «00100006»: «362377», «00100007»: «362378»} для fileName, tm in corresp.iteritems(): soup = BeautifulSoup (open (os. path.join (root, "fileName", ". xml"))) tmid = soup.find ("idno", type = "TM") tmid.append (tm) print soup – SIslam