Bash:
Làm việc với XML

Cách thực hiện:

Dưới đây là cách để phân tích cú pháp XML trong Bash. Công cụ? xmllint và xmlstarlet. Lặp qua các phần tử XML? Chắc chắn rồi. Ví dụ với kết quả mẫu:

# Giả sử xmlstarlet đã được cài đặt
# Cài đặt với: apt-get install xmlstarlet

# Phân tích cú pháp nội dung XML
cat <<EOF > sample.xml
<fruits>
  <fruit name="Apple"/>
  <fruit name="Banana"/>
</fruits>
EOF

# Trích xuất tên với xmlstarlet
xmlstarlet sel -t -m "//fruit" -v "@name" -n sample.xml

# Kết quả sẽ là:
# Apple
# Banana

Sâu hơn nữa

Trở lại những năm 90, XML xuất hiện như một lựa chọn đơn giản hơn so với SGML, nhưng có cấu trúc hơn so với HTML. Bây giờ, nó có các đối thủ - chẳng hạn như JSON, YAML. Nhưng XML vẫn còn tồn tại, đặc biệt là trong cấu hình và các dịch vụ web dựa trên SOAP.

Về công cụ, xmllint thoải mái cho việc xác thực XML, truy vấn xpath. xmlstarlet là công cụ đa năng cho các trò lố XML - truy vấn, chỉnh sửa, xác thực, biến đổi. Trong kịch bản bash, chúng là siêu anh hùng cho các nhiệm vụ XML.

Bên dưới cơ sở, xmllint sử dụng libxml2 – bộ phân tích cú pháp XML C. Nó nhanh, nhưng thông điệp lỗi? Khó hiểu. Và xmlstarlet? Mẫu đệ quy và hỗ trợ EXSLT. Khó hiểu nhưng mạnh mẽ.

Xem thêm