<?xml version = "1.0" encoding = "utf-8"?>
<soap:Envelope xmlns:soap = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
<soap:Body>
<DownloadDataResponse xmlns = "http://tempuri.org/">
<DownloadDataResult>
<?xml version= "1.0" encoding = "UTF-8"?>
<SkynetExchange>
<MasterManifests>
<MasterManifest>
<Id>200044923</Id>
<OriginStation>DHX</OriginStation>
<MastermanifestPrefix>0222</MastermanifestPrefix>
<MastermanifestNumber>1074680</MastermanifestNumber>
<DateofManifest>2019-03-04 13:25:27</DateofManifest>
<FlightNumber>20190304</FlightNumber>
<MAWB>20190304</MAWB>
<SUBMAWB>PO TEST MANIFEST</SUBMAWB>
<ToStation>SA5</ToStation>
<TotalBags>1</TotalBags>
<TotalWeight>1.500</TotalWeight>
<PrealertInstructions></PrealertInstructions>
<MasterManifestStatus>CLS</MasterManifestStatus>
</MasterManifest>
<MasterManifest>
<Id>434324343</Id>
<OriginStation>DSDHX</OriginStation>
<MastermanifestPrefix>0s222</MastermanifestPrefix>
<MastermanifestNumber>32354</MastermanifestNumber>
<DateofManifest>2018-03-04 13:25:27</DateofManifest>
<FlightNumber>12212</FlightNumber>
<MAWB>afsd</MAWB>
<SUBMAWB>OP TEST MANIFEST</SUBMAWB>
<ToStation>SA5</ToStation>
<TotalBags>1</TotalBags>
<TotalWeight>1.500</TotalWeight>
<PrealertInstructions></PrealertInstructions>
<MasterManifestStatus>CLS</MasterManifestStatus>
</MasterManifest>
</MasterManifests>
</SkynetExchange>
</DownloadDataResult>
</DownloadDataResponse>
</soap:Body>
</soap:Envelope>
У меня есть этот xml, и я хочу запустить цикл для данных MasterManifests, которые имеют несколько тегов MasterManifest. Я хочу прочитать каждое значение тега, например id, OriginStation и т. д. и т. д.
Пожалуйста помогите
Возможный дубликат читать xml в питоне
@ShanteshwarInde Не обман, поскольку у него другое требование.






список_текст.xml:
<?xml version = "1.0" encoding = "utf-8"?>
<soap:Envelope xmlns:soap = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
<soap:Body>
<DownloadDataResponse xmlns = "http://tempuri.org/">
<DownloadDataResult>
<SkynetExchange>
<MasterManifests>
<MasterManifest>
<Id>200044923</Id>
<OriginStation>DHX</OriginStation>
<MastermanifestPrefix>0222</MastermanifestPrefix>
<MastermanifestNumber>1074680</MastermanifestNumber>
<DateofManifest>2019-03-04 13:25:27</DateofManifest>
<FlightNumber>20190304</FlightNumber>
<MAWB>20190304</MAWB>
<SUBMAWB>PO TEST MANIFEST</SUBMAWB>
<ToStation>SA5</ToStation>
<TotalBags>1</TotalBags>
<TotalWeight>1.500</TotalWeight>
<PrealertInstructions> </PrealertInstructions>
<MasterManifestStatus>CLS</MasterManifestStatus>
</MasterManifest>
<MasterManifest>
<Id>434324343</Id>
<OriginStation>DSDHX</OriginStation>
<MastermanifestPrefix>0s222</MastermanifestPrefix>
<MastermanifestNumber>32354</MastermanifestNumber>
<DateofManifest>2018-03-04 13:25:27</DateofManifest>
<FlightNumber>12212</FlightNumber>
<MAWB>afsd</MAWB>
<SUBMAWB>OP TEST MANIFEST</SUBMAWB>
<ToStation>SA5</ToStation>
<TotalBags>1</TotalBags>
<TotalWeight>1.500</TotalWeight>
<PrealertInstructions> </PrealertInstructions>
<MasterManifestStatus>CLS</MasterManifestStatus>
</MasterManifest>
</MasterManifests>
</SkynetExchange>
</DownloadDataResult>
</DownloadDataResponse>
</soap:Body>
</soap:Envelope>
а потом:
import xml.dom.minidom as md
root = md.parse('list_test.xml')
from xml.dom.minidom import Node
Manifests = root.getElementsByTagName('MasterManifest')
for elem in Manifests:
try:
for x in elem.childNodes:
if x.nodeType == Node.ELEMENT_NODE:
print(x.tagName, ": ", x.childNodes[0].data)
except IndexError:
pass
ВЫХОД:
Id : 200044923
OriginStation : DHX
MastermanifestPrefix : 0222
MastermanifestNumber : 1074680
DateofManifest : 2019-03-04 13:25:27
FlightNumber : 20190304
MAWB : 20190304
SUBMAWB : PO TEST MANIFEST
ToStation : SA5
TotalBags : 1
TotalWeight : 1.500
PrealertInstructions :
MasterManifestStatus : CLS
Id : 434324343
OriginStation : DSDHX
MastermanifestPrefix : 0s222
MastermanifestNumber : 32354
DateofManifest : 2018-03-04 13:25:27
FlightNumber : 12212
MAWB : afsd
SUBMAWB : OP TEST MANIFEST
ToStation : SA5
TotalBags : 1
TotalWeight : 1.500
PrealertInstructions :
MasterManifestStatus : CLS
Опять строка или файл?