根据Key编辑XML值

时间:2012-04-16 22:44:30

标签: python xml beautifulsoup

使用beautifulsoup 4,如何根据名称编辑值?鉴于我知道name =“foo”(常量和唯一),如何读取值“bar”(运行时未知),并将其更改为新字符串“baz”?

我可以使用soup.find_all(text =“foo”)读取该行,但我无法弄清楚如何方便地读取值,或更改字符串“bar” - > “baz” 的

XML摘录:

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

1 个答案:

答案 0 :(得分:1)

我没有尝试过,但我怀疑这样的事情可能有用:

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