我试图从供应商提供的XML文件中提取帐户详细信息。解析XML中的名称/值对
我有提供XML文件,比如一个供应商:
<Accounts>
<Account>
<AccountNumber>1234567</AccountNumber>
<Balance>$200.00</Balance>
</Account>
<Account>
...
</Account>
</Accounts>
而且我可以分析这很容易使用python:
mytree = et.parse(xml_path)
myroot = mytree.getroot()
for acc in charges_root.findall('Account'):
acctnum = acc.find('AccountNumber').text
balance = acc.find('Balance').text
print(acctnum, balance)
,其输出是这样的:
然而,另一个供应商提供的XML文件更像名称/值对,我不确定如何解决ily访问该数据。它不工作与上面相同的方式:
<Accounts>
<Account>
<field name='AccountNumber' value='1234567' />
<field name='Balance' value='$200.00' />
</Account>
<Account>
...
</Account>
</Accounts>
到目前为止,我已经得到了这一点,但希望能够单独地享受到值:
mytree = et.parse(xml_path)
myroot = mytree.getroot()
for field in myroot.findall('Account'):
for line in field:
print(line.attrib)
,输出的东西像:
{'name': 'AccountNumber', 'value': '1234567'}
{'name': 'Balance', 'value': '$200.00'}
所以我的问题是这样的 - 我怎样才能访问数值并赋值给变量(基于name
),这样我可以让其他地方的脚本使用它们,像我有在第一个例子中使用acctnum
和balance
?