Python bruger Document Object Model til at lagre og manipulere XML- elementer. Det automatisk parser XML-kode og skaber et dokument objekt til at modellere den, der indeholder XML- noder. Den XML-bibliotek kan derefter gå gennem dokumentet for at finde forskellige elementer og attributter . Du skal importere bibliotek " xml.dom.minidom " for at få adgang til Pythons DOM XML behandling biblioteket. Adgang til og Læsning af en XML-fil
Python XML -bibliotek kan automatisk tolke XML tekstfiler eller tekststrenge som repræsenterer et XML-dokument . Her er et eksempel på, hvordan man parse en XML tekstfil og gemme resultatet som en Python Document objekt : Hej
xmlFile = åben ( " sample.xml " ) XMLDocument = xml.dom.minidom.parse ( xmlFile )
Hvis du ønsker at parse en streng af XML , skal du bruge " parseString "-funktionen .
xmlString = " < childnode /> En anden node " XMLDocument = xml.dom.minidom.parseString ( xmlString )
Adgang Element Nodes og barn noder < br >
XML-elementer er repræsenteret som knudepunkter . Giver adgang til et element i XML -dokument, skal du søge efter den ved navn med metoden " getElementsByTagName , " fx:
searchResults = getElementsByTagName ( " ExampleNode " )
Denne linje kode returnerer en NodeList . For at få et enkelt element node , kan du blot ringe til : Hej
myNode = searchResults [0]
Nodes kan indeholde underordnede noder. Du kan få en liste over barn noder givet en reference til en forælder node , f.eks
myChildNodes = myNode.childNodes
Data og attributter
For at få adgang til oplysningerne i et element åbning og lukning tags , skal du adgang til " data "-feltet i node objekt. For eksempel, hvis en node ved navn " myNode " repræsenterede den XML teksten " sampletext " i et dokument , så kunne udtrække ordet " sampletext " ved at referere " . myNode.data " at få adgang til attributter denne node , ville du nødt til først at få adgang til NamedNodeMap af attributterne som følger : Hej
attrList = myNode.attributes < br >
Så fra denne liste , uddrage dig navnene og værdier for attributterne : Hej
MyList = [ ] for jeg i området ( attrList.length ) : myList.append ( attrList.item ( i) . navn + '= ' + attrList.item ( i) værdi) print. " " join ( MyList )
Skrivning XML kode
Du kan. skriv en Node objekt til nogen " skrivbar " objekt ved hjælp af funktionen " writexml . " Dette omfatter skrivbare filer. Et eksempel er som følger : Hej
destinationFile = åben ( " samplewrite.xml ", " w" ) doc.writexml ( destinationFile ) destinationFile.close ()
Du kan også udskrive XML-dokument som en streng ved hjælp af funktionen " toxml " eller " toprettyxml , " f.eks : Hej
print doc.toxml ()
eller
print doc.toprettyxml ()
funktionen " toprettyxml " bruger mellemrum og indrykninger for at gøre XML mere læsbar for mennesker.