XML Pretty Print trong Linux Bash và Python

Xml Pretty Print Trong Linux Bash Va Python



XML được thiết kế như một ngôn ngữ đánh dấu mà con người có thể đọc được, nhưng chỉ khi nó được định dạng đẹp. Nếu bạn mở một tệp XML, bạn có thể không hiểu nội dung, đặc biệt đối với một tệp XML lớn. Tuy nhiên, bạn có thể in một XML trên Bash hoặc Python để con người có thể đọc được dễ dàng. Hướng dẫn này trình bày các cách khác nhau để in XML trong Linux Bash và Python.

Cách in XML đẹp trong Linux Bash và Python

Khi làm việc với Python, bạn có thể gặp trường hợp muốn in XML. Nó có thể là một tệp XML bên ngoài hoặc mã XML được bao gồm trong tập lệnh Python. Đối với Linux Bash, bạn có thể muốn mở một tệp XML trên thiết bị đầu cuối của mình để xem nội dung của nó. Dù thế nào đi chăng nữa, chúng ta sẽ thấy các cách khác nhau để in XML đẹp.







1. XML in đẹp bằng Python



Trước khi chúng tôi đi sâu vào các tùy chọn, sau đây là tệp XML mà chúng tôi sẽ làm việc với ví dụ của mình:







Trong Python, bạn có thể làm việc với XML theo hai cách chính. Giả sử bạn có tệp XML đã cho dưới dạng tệp bên ngoài và bạn muốn in nó thật đẹp. Bạn có thể nhập thư viện “xml.dom.minidom”. Sau khi được nhập, bạn có thể sử dụng Python open() để đọc nội dung của tệp bên ngoài. Sau đó, bạn có thể sử dụng toprettyxml() để in tệp XML bên ngoài của mình.

Trong ví dụ sau, chúng tôi sử dụng tệp “details.xml” bên ngoài và tạo các biến khác nhau trong mã:



Sau đó, chúng ta có thể chạy tập lệnh Python của mình trên thiết bị đầu cuối để có được đầu ra có định dạng đẹp như minh họa trong hình dưới đây. Lưu ý cách sử dụng thư viện DOM Python giúp định dạng XML gọn gàng, giúp bất kỳ ai chạy tập lệnh Python đều có thể đọc được dễ dàng:

Ngoài ra, nếu bạn chỉ có một tệp XML nhỏ, bạn có thể kết hợp trực tiếp tệp đó vào tập lệnh Python của mình. Bạn vẫn cần thư viện DOM Python để định dạng XML nội bộ trong tập lệnh của mình. Chức năng được sử dụng giống như trong trường hợp làm việc với tệp XML bên ngoài, chỉ khác là chúng tôi trực tiếp đưa XML vào.

Hãy xem cách chúng tôi đưa XML vào hình ảnh sau:

Sau đó, bạn có thể chạy tập lệnh Python của mình như chúng tôi đã làm trước đó. Bạn sẽ nhận được phiên bản in đẹp của tệp XML trong đầu ra của mình giống như những gì chúng tôi thu được trong đầu ra sau:

Tùy chọn này chỉ áp dụng khi tệp XML của bạn có một vài dòng. Đối với tệp XML lớn, hãy cân nhắc mở tệp dưới dạng tệp bên ngoài.

2. XML in đẹp trong Bash

Trên thiết bị đầu cuối của bạn, có thể xem nội dung của các tệp bao gồm cả XML. Chẳng hạn, bạn có thể sử dụng lệnh “cat” để hiển thị nội dung của tệp “details.xml” của chúng tôi. Tuy nhiên, đầu ra không thể đọc được do định dạng kém.

Để in đẹp tệp XML này, bạn có thể sử dụng các công cụ khác nhau. Ở đây, chúng tôi sẽ đề cập đến hai trong số những cái phổ biến. Đầu tiên, bạn có thể sử dụng “xmlstarlet” được cài đặt trên hầu hết các hệ thống Linux. Nếu nó không có sẵn trên hệ thống của bạn, hãy chạy lệnh sau để cài đặt nó:

sudo búng tay cài đặt xmlstarlet

Với “xmlstarlet” trên hệ thống Linux của bạn, bạn có thể in tệp XML đẹp như minh họa trong ví dụ sau. Đầu ra của bạn sẽ được định dạng gọn gàng giúp dễ đọc hơn:

Ngoài ra, bạn có thể sử dụng “xmllint” để đạt được điều tương tự. Bắt đầu bằng cách cài đặt nó trên hệ thống của bạn bằng lệnh sau:

sudo đúng cách cài đặt libxml2-utils

Sau khi cài đặt, bạn có thể in nhanh tệp XML của mình bằng cú pháp sau:

xmllint --định dạng chi tiết.xml

XML của bạn sẽ được định dạng và dễ đọc như minh họa trong ví dụ sau:

Giả sử bạn muốn tạo một đầu ra của định dạng XML. Bạn có thể chuyển hướng đầu ra để tạo một tệp XML mới như trong ví dụ sau. Khi bạn mở tệp mới, bạn sẽ thấy rằng bạn có phiên bản in đẹp của XML:

Phần kết luận

Có thể in đẹp các tệp XML trong Linux Bash hoặc Python. Với Python, bạn có thể in XML đẹp mắt bằng cách kết hợp nó vào mã của bạn hoặc đọc nó dưới dạng tệp bên ngoài. Đối với Linux Bash, bạn có thể sử dụng các công cụ dòng lệnh khác nhau. Bài đăng này đã nêu chi tiết các tùy chọn tốt nhất để sử dụng trong cả hai trường hợp. Thử chúng ra!