<p>使用python<a href="https://docs.python.org/3.7/library/xml.etree.elementtree.html" rel="nofollow noreferrer">standard XML lib</a>(假设您想收集'key'元素下的数据)</p>
<pre><code>import xml.etree.ElementTree as ET
import pprint
xml = '''<sheet>
<name>7_managementHosts</name>
<data>
<name>MgtHosts</name>
<key>
<name>Rack U-Location</name>
<value>U30</value>
<value>U29</value>
<value>U28</value>
</key>
<key>
<name>Default Component Name</name>
<value>sms01</value>
<value>sms02</value>
<value>sms03</value>
</key>
<key>
<name>DNS hostname (FQDN)</name>
<value>sms01.de1000.local</value>
<value>sms02.de1000.local</value>
<value>sms03.de1000.local</value>
</key>
<key>
<name>DNS suffix for management interface</name>
<value>de1000.local</value>
<value>de1000.local</value>
<value>de1000.local</value>
</key>
<key>
<name>Keyboard layout</name>
<value>US Default</value>
<value>US Default</value>
<value>US Default</value>
</key>
<key>
<name>root user password</name>
<value>myPassword</value>
<value>myPassword</value>
<value>myPassword</value>
</key>
</data>
</sheet>'''
data = {}
root = ET.fromstring(xml)
keys = root.findall('.//data/key')
for key in keys:
data[key.find('name').text] = [v.text for v in key.findall('value')]
pprint.pprint(data)
</code></pre>
<p>输出</p>
<pre><code>{'DNS hostname (FQDN)': ['sms01.de1000.local',
'sms02.de1000.local',
'sms03.de1000.local'],
'DNS suffix for management interface': ['de1000.local',
'de1000.local',
'de1000.local'],
'Default Component Name': ['sms01', 'sms02', 'sms03'],
'Keyboard layout': ['US Default', 'US Default', 'US Default'],
'Rack U-Location': ['U30', 'U29', 'U28'],
'root user password': ['myPassword', 'myPassword', 'myPassword']}
</code></pre>