【发布时间】:2023-02-03 13:57:23
【问题描述】:
有一个像这样的 XML
<OUTER>
<TYPE>FIRST</TYPE>
<FIELD1>1</FIELD1>
<ID>55056</ID>
<TASK>
<FILE>
<OPTIONS>1</OPTIONS>
</FILE>
</TASK>
</OUTER>
<OUTER>
<TYPE>SECOND</TYPE>
<FIELD1>2</FIELD1>
<ID>58640</ID>
<TASK>
<FILE>
<OPTIONS>1</OPTIONS>
</FILE>
</TASK>
</OUTER>
标签中的文字ID需要用新值更新,它存在于这个变量中NEW_ID1.比较应该发生在类型标记,即仅当文本 == FIRST 时,我们需要用新 ID 替换 ID,并类似地写回 XML,如果类型 = 第二, 更新 ID 为NEW_ID2等等,怎么做?我尝试了以下方式,
tree = ET.parse("sample.xml")
root = tree.getroot()
det = tree.findall(".//OUTER[TYPE='FIRST']")
.
.
ID = NEW_ID1
tree.write("sample.xml")
但无法进一步操纵它
【问题讨论】:
标签: python python-3.x xml xml-parsing