我在使用python解析xml表时遇到问题。我对解析这些类型的文件还不熟悉。我正在使用ElementTree库。我想使用for循环获取“UsedPartTab”表的每一行的特定属性。更具体地说,我想把以下属性赋给一个变量…PartNo,UsedQty,InvoiceNo。我做这件事最好的办法是什么?你知道吗
我尝试在根文档中索引特定标记,但没有成功。我也试过findall,find,get方法。你知道吗
def GetPartsUsedList():
request = GET_TICKET_INFO
response = requests.post(url=GSPN_URL, verify=False, proxies=proxies, headers={"content-type": "text/xml;charset=UTF-8", "SOAPAction": '"www.samsungasc.com/GetTicketInfo"'}, data=request)
xml = ET.fromstring(response.text)
root = xml[0][0][0]
print(root.text)
GetPartsUsedList()
<?xml version="1.0" encoding="utf-8" ?>
<rootdoc>
<RetCode>0</RetCode>
<ErrMsg></ErrMsg>
<Carrier></Carrier>
<CarrierName></CarrierName>
<TicketNo>4149142579</TicketNo>
<SCode1>01</SCode1>
<SCode2></SCode2>
<SCode3></SCode3>
<SCode4>XC</SCode4>
<IrisDefectCode>ARCS</IrisDefectCode>
<IrisRepairCode>DPRT</IrisRepairCode>
<AlertMessage></AlertMessage>
<HighRisk></HighRisk>
<Table>
<Name>UsedPartTab</Name>
<Column>
<Name>SeqNo</Name>
<Type>String</Type>
</Column>
<Column>
<Name>PartStatus</Name>
<Type>String</Type>
</Column>
<Column>
<Name>PartNo</Name>
<Type>String</Type>
</Column>
<Column>
<Name>Description</Name>
<Type>String</Type>
</Column>
<Column>
<Name>Location</Name>
<Type>String</Type>
</Column>
<Column>
<Name>UsedQty</Name>
<Type>Decimal</Type>
</Column>
<Column>
<Name>RequestNo</Name>
<Type>String</Type>
</Column>
<Column>
<Name>PONo</Name>
<Type>String</Type>
</Column>
<Column>
<Name>SONo</Name>
<Type>String</Type>
</Column>
<Column>
<Name>InvoiceNo</Name>
<Type>String</Type>
</Column>
<Column>
<Name>InvoiceItemNo</Name>
<Type>String</Type>
</Column>
<Column>
<Name>DefectSerialNo</Name>
<Type>String</Type>
</Column>
<Column>
<Name>POStatus</Name>
<Type>String</Type>
</Column>
<Column>
<Name>TrackingNo</Name>
<Type>String</Type>
</Column>
<Column>
<Name>TrackingHyperLink</Name>
<Type>String</Type>
</Column>
<Column>
<Name>PostGoodsIssue</Name>
<Type>String</Type>
</Column>
<ROW>
<SeqNo>0001</SeqNo>
<PartStatus>Used</PartStatus>
<PartNo>0M75P-21-ESGN</PartNo>
<Description></Description>
<Location></Location>
<UsedQty>1</UsedQty>
<RequestNo></RequestNo>
<PONo></PONo>
<SONo></SONo>
<InvoiceNo></InvoiceNo>
<InvoiceItemNo>0</InvoiceItemNo>
<DefectSerialNo></DefectSerialNo>
<POStatus></POStatus>
<TrackingNo></TrackingNo>
<TrackingHyperLink></TrackingHyperLink>
<PostGoodsIssue>N</PostGoodsIssue>
</ROW>
<ROW>
<SeqNo>0002</SeqNo>
<PartStatus>Used</PartStatus>
<PartNo>DE26-00126B</PartNo>
<Description>TRANS H.V;SHV-U1870D,120V,2545,2385V/3.4</Description>
<Location></Location>
<UsedQty>1</UsedQty>
<RequestNo></RequestNo>
<PONo></PONo>
<SONo></SONo>
<InvoiceNo>8424097053</InvoiceNo>
<InvoiceItemNo>0</InvoiceItemNo>
<DefectSerialNo></DefectSerialNo>
<POStatus></POStatus>
<TrackingNo></TrackingNo>
<TrackingHyperLink></TrackingHyperLink>
<PostGoodsIssue>P</PostGoodsIssue>
</ROW>
<ROW>
<SeqNo>0003</SeqNo>
<PartStatus>Used</PartStatus>
<PartNo>DE60-20066A</PartNo>
<Description>BOLT-FLAT;MSWR,L100,UNF1/4</Description>
<Location></Location>
<UsedQty>1</UsedQty>
<RequestNo></RequestNo>
<PONo></PONo>
<SONo></SONo>
<InvoiceNo>8456512557</InvoiceNo>
<InvoiceItemNo>0</InvoiceItemNo>
<DefectSerialNo></DefectSerialNo>
<POStatus></POStatus>
<TrackingNo></TrackingNo>
<TrackingHyperLink></TrackingHyperLink>
<PostGoodsIssue>P</PostGoodsIssue>
</ROW>
<ROW>
<SeqNo>0004</SeqNo>
<PartStatus>Used</PartStatus>
<PartNo>DE94-03275A</PartNo>
<Description>ASSY PANEL OUTER;MD4,BLACK,P/OUTER+ASSY-</Description>
<Location></Location>
<UsedQty>1</UsedQty>
<RequestNo></RequestNo>
<PONo></PONo>
<SONo></SONo>
<InvoiceNo>8456512595</InvoiceNo>
<InvoiceItemNo>0</InvoiceItemNo>
<DefectSerialNo></DefectSerialNo>
<POStatus></POStatus>
<TrackingNo></TrackingNo>
<TrackingHyperLink></TrackingHyperLink>
<PostGoodsIssue>P</PostGoodsIssue>
</ROW>
<ROW>
<SeqNo>0005</SeqNo>
<PartStatus>Used</PartStatus>
<PartNo>DE96-00269A</PartNo>
<Description>ASSY HVC;SMH7175,-,-,0.91UF HVC,-,-</Description>
<Location></Location>
<UsedQty>1</UsedQty>
<RequestNo></RequestNo>
<PONo></PONo>
<SONo></SONo>
<InvoiceNo>8456090576</InvoiceNo>
<InvoiceItemNo>0</InvoiceItemNo>
<DefectSerialNo></DefectSerialNo>
<POStatus></POStatus>
<TrackingNo></TrackingNo>
<TrackingHyperLink></TrackingHyperLink>
<PostGoodsIssue>P</PostGoodsIssue>
</ROW>
</Table>
<Table>
<Name>RecommendedPartTab</Name>
<Column>
<Name>PartNo</Name>
<Type>String</Type>
</Column>
<Column>
<Name>Description</Name>
<Type>String</Type>
</Column>
<Column>
<Name>Comments</Name>
<Type>String</Type>
</Column>
</Table>
你可以这样试试
这里
输出
相关问题 更多 >
编程相关推荐