我正在尝试使用Python处理一个非常大的XML文件,这是一个示例文件。
<FIXML r="20030618" s="20040109" v="4.4" xr="FIA" xv="1"
xmlns="http://www.fixprotocol.org/FIXML-4-4">
<Batch>
<MktDataFull RptID="23520135" BizDt="2015-01-20">
<Instrmt Sym="OEF" MMY="20171215" MatDt="2017-12-15" CFI="OCASPS" StrkPx="100" StrkMult="1" StrkValu="100" Mult="100" StrkCcy="USD"/>
<Full Typ="5" Px="5.65" Ccy="USD" PxDelta="0.35" Dt="2015-01-20"/>
<Full Typ="D" Px="89.29" Dt="2015-01-20"/>
</MktDataFull>
<MktDataFull RptID="16349083" BizDt="2015-01-20">
<Instrmt Sym="OEF" MMY="20151219" MatDt="2015-12-19" CFI="OCASPS" StrkPx="35" StrkMult="1" StrkValu="100" Mult="100" StrkCcy="USD"/>
<Full Typ="5" Px="54.3225" Ccy="USD" PxDelta="0.99" Dt="2015-01-20"/>
<Full Typ="D" Px="89.29" Dt="2015-01-20"/>
</MktDataFull>
</Batch>
我想要做的是对于名称为MktDataFull的每个XML元素,我想打印出包含在该节点和子节点中的所有属性的一行。这是我尝试通过查找所有MktDataFull元素来打印一些属性。
import xml.etree.cElementTree as ET
tree = ET.ElementTree(file='file.xml')
for elem in tree.findall('MktDataFull'):
print elem.attrib["RptID"]
print elem.attrib["BizDt"]
print elem.attrib["Sym"]
# etc
然而,我没有返回任何值。有人可以帮忙吗?