2012-04-16 2 views
0

Использование beautifulsoup 4, как изменить значение на основе имени? Учитывая, что я знаю имя = «foo» (постоянное и уникальное), как я могу прочитать значение «bar» (неизвестное во время выполнения) и изменить его на новую строку «baz»?Изменить значение XML на основе ключа

Я могу читать строку, используя soup.find_all (текст = «Foo»), но я не могу понять, как удобно считывать значение, или изменить строку «бар» -> «Баз»

XML Выдержки:

<djmacros> 
    <macro name="foo" value="bar"> 
    <description>foobar</description> 
    </macro> 
</djmacros> 

ответ

1

Я не пробовал, но я подозреваю, что-то подобное может работать:

foo_element = soup.find('macro', attrs={"name" : "foo"}) # returns the foo element 
foo_element['value'] = "baz" # changes the value attribute 
+0

это работало отлично. Спасибо! – moreisee

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