我有以下xml示例文件:
<Book>
<Location>page10</Location>
<Chapter>
<Location>page11</Location>
</Chapter>
</Book>
我想在<Location>
下方更改元素<book>
的文本值。
使用findall可以同时提供“位置”和“位置”。元素。
使用find给出第一个,这可能是正确的,但是如果元素&#39;章&#39;放在位置之前,而不是我得到错误的元素。
有人有什么建议吗?
答案 0 :(得分:0)
使用路径..
>>> import xml.etree.ElementTree as etree
>>> frag = '<Book><Chapter><Location>page11</Location></Chapter><Location>page10</Location></Book>'
>>> tree = etree.fromstring(frag)
>>> tree.findall('./Location')[0].text
'page10'
>>> tree.findall('./Location')[1].text
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range