【发布时间】:2015-01-07 07:41:22
【问题描述】:
我有这个 XML 文件:
<?xml version="1.0" ?><XMLSchemaPalletLoadTechData xmlns="http://tempuri.org/XMLSchemaPalletLoadTechData.xsd">
<TechDataParams>
<RunNumber>sample</RunNumber>
<Holder>sample</Holder>
<ProcessToolName>sample</ProcessToolName>
<RecipeName>sample</RecipeName>
<PalletName>sample</PalletName>
<PalletPosition>sample</PalletPosition>
<IsControl>sample</IsControl>
<LoadPosition>sample</LoadPosition>
<HolderJob>sample</HolderJob>
<IsSPC>sample</IsSPC>
<MeasurementType>sample</MeasurementType>
</TechDataParams>
<TechDataParams>
<RunNumber>sample</RunNumber>
<Holder>sample</Holder>
<ProcessToolName>sample</ProcessToolName>
<RecipeName>sample</RecipeName>
<PalletName>sample</PalletName>
<PalletPosition>sample</PalletPosition>
<IsControl>sample</IsControl>
<LoadPosition>sample</LoadPosition>
<HolderJob>sample</HolderJob>
<IsSPC>sample</IsSPC>
<MeasurementType>XRF</MeasurementType>
</TechDataParams>
</XMLSchemaPalletLoadTechData>
这是我解析 xml 的代码:
for data in xml.getElementsByTagName('TechDataParams'):
#parse xml
runnum=data.getElementsByTagName('RunNumber')[0].firstChild.nodeValue
hold=data.getElementsByTagName('Holder')[0].firstChild.nodeValue
processtn=data.getElementsByTagName('ProcessToolName'[0].firstChild.nodeValue)
recipedata=data.getElementsByTagName('RecipeName'[0].firstChild.nodeValue)
palletna=data.getElementsByTagName('PalletName')[0].firstChild.nodeValue
palletposi=data.getElementsByTagName('PalletPosition')[0].firstChild.nodeValue
control = data.getElementsByTagName('IsControl')[0].firstChild.nodeValue
loadpos=data.getElementsByTagName('LoadPosition')[0].firstChild.nodeValue
holderjob=data.getElementsByTagName('HolderJob')[0].firstChild.nodeValue
spc = data.getElementsByTagName('IsSPC')[0].firstChild.nodeValue
mestype = data.getElementsByTagName('MeasurementType')[0].firstChild.nodeValue
但是当我打印每个节点时,我只得到一组“TechDataParams”,但我希望能够从 XML 中获取所有“TechDataParams”。
如果我的问题有点不清楚,请告诉我。
【问题讨论】:
标签: python xml parsing xml-parsing