XML Pretty Print σε Linux Bash και Python

Xml Pretty Print Se Linux Bash Kai Python



Η XML έχει σχεδιαστεί ως γλώσσα σήμανσης αναγνώσιμη από τον άνθρωπο, αλλά μόνο εάν είναι αρκετά μορφοποιημένη. Εάν ανοίξετε ένα αρχείο XML, ενδέχεται να μην καταλάβετε το περιεχόμενο, ειδικά για ένα μεγάλο αρχείο XML. Ωστόσο, μπορείτε να εκτυπώσετε ένα XML σε Bash ή Python για να το κάνετε εύκολα αναγνώσιμο από τον άνθρωπο. Αυτός ο οδηγός παρουσιάζει τους διαφορετικούς τρόπους εκτύπωσης XML σε Linux Bash και Python.

Πώς να εκτυπώσετε όμορφα XML σε Linux Bash και Python

Όταν εργάζεστε με Python, μπορεί να εμφανιστεί μια περίπτωση όπου θέλετε να εκτυπώσετε XML. Θα μπορούσε να είναι ένα εξωτερικό αρχείο XML ή ο κώδικας XML που περιλαμβάνεται στο σενάριο Python. Για το Linux Bash, ίσως θελήσετε να ανοίξετε ένα αρχείο XML στο τερματικό σας για να δείτε τα περιεχόμενά του. Όποια και αν είναι η περίπτωση, θα δούμε τους διαφορετικούς τρόπους εκτύπωσης της XML όμορφης.







1. Pretty Print XML σε Python



Πριν εξετάσουμε τις επιλογές, το παρακάτω είναι το αρχείο XML με το οποίο θα εργαστούμε για το παράδειγμά μας:







Στην Python, μπορείτε να εργαστείτε με XML με δύο βασικούς τρόπους. Ας υποθέσουμε ότι έχετε το δεδομένο αρχείο XML ως εξωτερικό αρχείο και θέλετε να το εκτυπώσετε όμορφα. Μπορείτε να εισαγάγετε τη βιβλιοθήκη 'xml.dom.minidom'. Μόλις εισαχθεί, μπορείτε να χρησιμοποιήσετε την Python open() για να διαβάσετε τα περιεχόμενα του εξωτερικού σας αρχείου. Μετά από αυτό, μπορείτε να χρησιμοποιήσετε την toprettyxml() για να εκτυπώσετε όμορφα το εξωτερικό σας αρχείο XML.

Στο παρακάτω παράδειγμα, χρησιμοποιούμε το εξωτερικό μας αρχείο “details.xml” και δημιουργούμε διαφορετικές μεταβλητές στον κώδικα:



Μπορούμε στη συνέχεια να εκτελέσουμε το σενάριο Python στο τερματικό για να λάβουμε την όμορφη μορφοποιημένη έξοδο όπως φαίνεται στο παρακάτω σχήμα. Σημειώστε πώς η χρήση της βιβλιοθήκης DOM Python βοηθά στη σωστή μορφοποίηση της XML, καθιστώντας την εύκολα αναγνώσιμη από οποιονδήποτε εκτελεί το σενάριο Python:

Εναλλακτικά, εάν έχετε μόνο ένα μικρό αρχείο XML, μπορείτε να το ενσωματώσετε απευθείας στο σενάριο Python σας. Εξακολουθείτε να χρειάζεστε τη βιβλιοθήκη DOM Python για να μορφοποιήσετε την εσωτερική XML στο σενάριό σας. Η λειτουργία που χρησιμοποιείται είναι η ίδια όπως στην περίπτωση εργασίας με εξωτερικό αρχείο XML, μόνο που συμπεριλαμβάνουμε απευθείας το XML.

Δείτε πώς συμπεριλαμβάνουμε το XML στην παρακάτω εικόνα:

Στη συνέχεια, μπορείτε να εκτελέσετε το σενάριο Python σας όπως κάναμε νωρίτερα. Θα λάβετε την όμορφη έντυπη έκδοση του αρχείου XML σας στην έξοδο σας όπως αυτή που λάβαμε στην ακόλουθη έξοδο:

Αυτή η επιλογή ισχύει μόνο όταν το αρχείο XML έχει λίγες γραμμές. Για ένα μεγάλο αρχείο XML, σκεφτείτε να το ανοίξετε ως εξωτερικό αρχείο.

2. Όμορφη εκτύπωση XML στο Bash

Στο τερματικό σας, είναι δυνατή η προβολή των περιεχομένων αρχείων, συμπεριλαμβανομένου του XML. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε την εντολή 'cat' για να εμφανίσετε τα περιεχόμενα του αρχείου 'details.xml'. Ωστόσο, η έξοδος δεν είναι αναγνώσιμη λόγω κακής μορφοποίησης.

Για να εκτυπώσετε όμορφα αυτό το αρχείο XML, υπάρχουν διάφορα εργαλεία που μπορείτε να χρησιμοποιήσετε. Εδώ, θα καλύψουμε δύο από τα κοινά. Αρχικά, μπορείτε να χρησιμοποιήσετε το 'xmlstarlet' που είναι εγκατεστημένο στα περισσότερα συστήματα Linux. Εάν δεν είναι διαθέσιμο στο σύστημά σας, εκτελέστε την ακόλουθη εντολή για να το εγκαταστήσετε:

sudo θραύση εγκαθιστώ xmlstarlet

Με το 'xmlstarlet' στο σύστημά σας Linux, μπορείτε να εκτυπώσετε όμορφα το αρχείο σας XML όπως φαίνεται στο παρακάτω παράδειγμα. Η έξοδός σας θα είναι όμορφα διαμορφωμένη που διευκολύνει την ανάγνωση:

Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το 'xmllint' για να πετύχετε το ίδιο. Ξεκινήστε εγκαθιστώντας το στο σύστημά σας με την ακόλουθη εντολή:

sudo κατάλληλος εγκαθιστώ libxml2-utils

Μόλις εγκατασταθεί, μπορείτε να εκτυπώσετε γρήγορα το αρχείο XML χρησιμοποιώντας την ακόλουθη σύνταξη:

xmllint --μορφή λεπτομέρειες.xml

Η XML σας θα είναι μορφοποιημένη και ευανάγνωστη όπως φαίνεται στο ακόλουθο παράδειγμα:

Ας υποθέσουμε ότι θέλετε να δημιουργήσετε μια έξοδο της μορφοποιημένης XML. Μπορείτε να ανακατευθύνετε την έξοδο για να δημιουργήσετε ένα νέο αρχείο XML όπως φαίνεται στο παρακάτω παράδειγμα. Όταν ανοίξετε το νέο αρχείο, θα δείτε ότι έχετε την όμορφη έντυπη έκδοση του XML:

συμπέρασμα

Είναι δυνατό να εκτυπώσετε όμορφα τα αρχεία XML σε Linux Bash ή Python. Με την Python, μπορείτε να εκτυπώσετε όμορφα το XML ενσωματώνοντάς το στον κώδικά σας ή διαβάζοντάς το ως εξωτερικό αρχείο. Για το Linux Bash, μπορείτε να χρησιμοποιήσετε διαφορετικά εργαλεία γραμμής εντολών. Αυτή η ανάρτηση παρουσιάζει λεπτομερώς τις καλύτερες επιλογές για χρήση σε κάθε περίπτωση. Δοκιμάστε τα!