<p>下面的代码将2个元素替换为虚拟值</p>
<p>您所需要做的就是用所需的数据填充dict<code>new_data</code></p>
<pre><code>from xml.etree import ElementTree as ET
xml = '''<?xml version="1.0" encoding="UTF-8"?>
<CompanyData>
<Identifier>Country Context Afghanistan</Identifier>
<LanguageCode>2057</LanguageCode>
<DataTypeId>CCO</DataTypeId>
<ISOAlpha3>AFG</ISOAlpha3>
<DataSource>EDWH</DataSource>
<BuildDate>2019-09-17T18:53:59.973</BuildDate>
<DataSet>
<Name>Country context</Name>
<SourceName>Source</SourceName>
<SourceDate>2019-09-17T18:53:59.973</SourceDate>
<Data>
<Name>Total population (2019)</Name>
<Value>35,688,787</Value>
</Data>
<Data>
<Name>Birth cohort (2019)</Name>
<Value>1,083,460</Value>
</Data>
<Data>
<Name>Surviving Infants (surviving to 1 year per year, 2019)</Name>
<Value>1,151,687</Value>
</Data>
<Data>
<Name>Infant mortality rate (deaths &lt; 1 year per 1000 births, 2015)</Name>
<Value>66/1000</Value>
</Data>
<Data>
<Name>Child mortality rate (deaths &lt; 5 years per 1000 births, 2015)</Name>
<Value>91/1000</Value>
</Data>
<Data>
<Name>World Bank Index, IDA (2015)</Name>
<Value>2.69</Value>
</Data>
<Data>
<Name>Gross Nation Income (per capita US$, 2015)</Name>
<Value>610</Value>
</Data>
<Data>
<Name>No. of districts/territories (2018)</Name>
<Value>407</Value>
</Data>
</DataSet>
</CompanyData>'''
new_data = {'Total population (2019)': 10000,'World Bank Index, IDA (2015)': 7.45}
root = ET.fromstring(xml)
for field_name,new_value in new_data.items():
value_element = root.find(".//Data/[Name='{}']".format(field_name))
value_element.find('Value').text = str(new_value)
ET.dump(root)
</code></pre>
<p>输出</p>
<pre><code><CompanyData>
<Identifier>Country Context Afghanistan</Identifier>
<LanguageCode>2057</LanguageCode>
<DataTypeId>CCO</DataTypeId>
<ISOAlpha3>AFG</ISOAlpha3>
<DataSource>EDWH</DataSource>
<BuildDate>2019-09-17T18:53:59.973</BuildDate>
<DataSet>
<Name>Country context</Name>
<SourceName>Source</SourceName>
<SourceDate>2019-09-17T18:53:59.973</SourceDate>
<Data>
<Name>Total population (2019)</Name>
<Value>10000</Value>
</Data>
<Data>
<Name>Birth cohort (2019)</Name>
<Value>1,083,460</Value>
</Data>
<Data>
<Name>Surviving Infants (surviving to 1 year per year, 2019)</Name>
<Value>1,151,687</Value>
</Data>
<Data>
<Name>Infant mortality rate (deaths &lt; 1 year per 1000 births, 2015)</Name>
<Value>66/1000</Value>
</Data>
<Data>
<Name>Child mortality rate (deaths &lt; 5 years per 1000 births, 2015)</Name>
<Value>91/1000</Value>
</Data>
<Data>
<Name>World Bank Index, IDA (2015)</Name>
<Value>7.45</Value>
</Data>
<Data>
<Name>Gross Nation Income (per capita US$, 2015)</Name>
<Value>610</Value>
</Data>
<Data>
<Name>No. of districts/territories (2018)</Name>
<Value>407</Value>
</Data>
</DataSet>
</CompanyData>
</code></pre>