change xml element text using xml.etree.ElementTree

孤街浪徒 提交于 2020-08-27 07:17:31

问题


Given a parsed xml string:

tree = xml.etree.ElementTree.fromstring(xml_string)

How would you change an element's text from 'hats':

>>> tree.find("path/to/element").text
>>> 'hats'

to 'cats'?


回答1:


Simply set the .text attribute value:

In [1]: import xml.etree.ElementTree as ET

In [2]: root = ET.fromstring("<root><elm>hats</elm></root>")

In [3]: elm = root.find(".//elm")

In [4]: elm.text
Out[4]: 'hats'

In [5]: elm.text = 'cats'

In [6]: ET.tostring(root)
Out[6]: '<root><elm>cats</elm></root>'



回答2:


  1. import xml.etree.ElementTree as ET # import the elementtree module
  2. root = ET.fromstring(command_request) # fromString parses xml from string to an element, command request can be xml request string
  3. root.find("cat").text = "dog" #find the element tag as cat and replace it with the string to be replaced.
  4. ET.tostring(root) # converts the element to a string

cheers



来源:https://stackoverflow.com/questions/40244271/change-xml-element-text-using-xml-etree-elementtree

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!