Bộ chuyển đổi XML sang CSV miễn phí

Chuyển đổi dữ liệu XML sang định dạng CSV với phát hiện tự động.

Không có dữ liệu nào rời khỏi thiết bị của bạn

Cách sử dụng

  1. Dán hoặc gõ dữ liệu XML của bạn vào ô bên trái.
  2. Công cụ tự động phát hiện các phần tử lặp lại và làm phẳng các cấu trúc lồng nhau.
  3. Xem trước dữ liệu của bạn ở bên phải. Nhấp Tải xuống CSV để lưu tệp đã chuyển đổi.

Câu hỏi thường gặp

Các phần tử lồng nhau được xử lý như thế nào?

Các phần tử lồng nhau được làm phẳng với ký pháp dấu chấm. Ví dụ, « person.address.city » trở thành một tiêu đề cột duy nhất.

Nếu các phần tử có số lượng con khác nhau thì sao?

Các giá trị bị thiếu được để trống trong đầu ra CSV. Tất cả các tiêu đề cột được bảo toàn ngay cả khi một số hàng không có một số giá trị.

Công cụ phát hiện các phần tử lặp lại như thế nào?

Công cụ tự động xác định loại phần tử thường xuyên nhất trong XML của bạn và sử dụng nó làm nguồn hàng.

Tại Sao Chuyển Đổi XML sang CSV Xuất Hiện Thường Xuyên

XML thì dài dòng và phân cấp; CSV thì phẳng và dày đặc. Rất nhiều dữ liệu thực tế hữu ích nằm trong XML: sitemap.xml, nguồn cấp RSS / Atom, file xuất khẩu WordPress, cấu hình Apple plist, danh sách phụ thuộc Maven pom.xml, track GPS (GPX), điểm đánh dấu Google Earth (KML), định dạng sao kê ngân hàng (CAMT.053, MT940 dạng XML), nguồn cấp sản phẩm thương mại điện tử, HL7 v3 y tế, báo cáo tài chính XBRL, nhạc ký hiệu MusicXML, và hầu hết không thể phân tích mà không cần làm phẳng thành hàng trước. Excel, Google Sheets, SQL LOAD DATA, Pandas, R, Tableau, Power BI đều xử lý CSV ngay lập tức; để đưa XML vào một trong những công cụ đó cần chuyển đổi trước.

Sự Không Tương Thích Cơ Bản

XML cho phép lồng nhau tùy ý; CSV là hai chiều. Không có ánh xạ XML→CSV không mất dữ liệu đa dụng nào. Mọi bộ chuyển đổi đều phải đưa ra giả định về cấp nào của cây đại diện cho «rows» và cách xử lý lồng nhau sâu hơn. Hai hình dạng phổ biến:

Công cụ tự động phát hiện phần tử lặp lại bằng cách tìm con trực tiếp phổ biến nhất của gốc, điều này đúng với ~90% nguồn cấp XML thực tế. Nếu XML của bạn không phù hợp mẫu đó, hãy xử lý trước bằng script XPath nhanh hoặc chỉnh sửa thủ công xuống dạng bản ghi lặp lại.

Các Nguồn Cấp XML Phổ Biến Chuyển Đổi Tốt

Cách Xử Lý Thuộc Tính, Lồng Nhau và Phần Tử Con Lặp Lại

Mã Hóa: Bẫy Excel

XML khai báo mã hóa của nó qua <?xml version="1.0" encoding="UTF-8"?>. CSV không có khai báo mã hóa; người tiêu dùng phải đoán. Excel trên Windows mặc định là Windows-1252, vì vậy mở CSV UTF-8 không có Byte Order Mark sẽ hiển thị mojibake (é thành é, ü thành ü). Cách khắc phục: lưu CSV với UTF-8 BOM () ở đầu file, dùng trình hướng dẫn Dữ liệu → Từ Văn bản/CSV của Excel và chọn UTF-8 một cách rõ ràng, hoặc mở file trong Google Sheets, vốn xử lý UTF-8 đúng mà không cần BOM.

Lựa Chọn Dấu Phân Cách

Theo RFC 4180, dấu phân cách CSV chuẩn là dấu phẩy. Công cụ cũng hỗ trợ dấu chấm phẩy, tab và ký tự pipe, hãy chọn cái phù hợp với đối tượng của bạn:

Theo RFC 4180, các trường chứa dấu phân cách đã chọn, ngắt dòng hoặc dấu ngoặc kép sẽ tự động được bao bằng dấu ngoặc kép; dấu ngoặc kép nhúng được thoát bằng cách nhân đôi. Các quy tắc trích dẫn giống nhau áp dụng bất kể dấu phân cách nào bạn chọn.

Quyền Riêng Tư

Tải trọng XML thường chứa thông tin bí mật: giao dịch sao kê ngân hàng, dữ liệu nhân viên nội bộ, sitemap đã thu thập tiết lộ URL nội bộ, hồ sơ y tế, danh mục sản phẩm bị ràng buộc bởi NDA. DOMParser tích hợp của trình duyệt chạy hoàn toàn trong tab của bạn, không có yêu cầu mạng, không có vòng lặp máy chủ, không có mục nhật ký. Dữ liệu đi từ clipboard của bạn đến cây được phân tích trong bộ nhớ, được duyệt một lần để làm phẳng, và kết quả nằm trong textarea đầu ra. Nếu bạn không nhấp Tải xuống, không có gì được ghi vào đĩa.

Lỗi Phổ Biến

  1. Dán XML không ở dạng bản ghi lặp lại. Một tài liệu như file cấu hình đơn lẻ không có sự lặp lại sẽ không làm phẳng thành CSV sử dụng được. Bộ chuyển đổi được thiết kế cho XML kiểu «list of similar items».
  2. Kỳ vọng tiền tố thuộc tính giữ nguyên sau khi chuyển đổi hai chiều. <product id="42"> trở thành cột có tên id, không phải product@id hoặc product.id. Nếu bạn nhập lại CSV ở nơi khác dưới dạng XML, bạn cần ánh xạ lại.
  3. Dấu phân cách sai cho đối tượng. CSV phân cách bằng dấu phẩy được mở trong Excel tiếng Pháp có thể thu gọn thành một cột duy nhất. Khớp dấu phân cách với nơi file sẽ đến.
  4. Quên BOM UTF-8 cho Excel. Các ký tự không phải Latin trông bị lỗi trong Excel Windows mà không có BOM. Hãy thêm nó hoặc mở file trong Google Sheets / Excel for the web.
  5. Cố chuyển đổi XHTML hoặc DocBook. XML tài liệu nội dung hỗn hợp không làm phẳng sạch sẽ, dùng pipeline XML/XSLT thích hợp cho những trường hợp đó, không phải bộ chuyển đổi dạng bảng.
  6. Rủi ro chèn CSV có sẵn trong giá trị trường. Nếu XML của bạn chứa văn bản do người dùng tạo và bạn sẽ mở đầu ra trong Excel hoặc Sheets, các ô bắt đầu bằng =, +, - hoặc @ được hiểu là công thức. OWASP ghi lại đây là lớp tấn công thực sự, hãy làm sạch trước khi chia sẻ xuất khẩu nội dung do người dùng tạo.
  7. Phần tử con lặp lại. Nếu XML có các wrapper <tags> với nhiều phần tử con <tag>, đầu ra phẳng không thể biểu diễn điều đó sạch sẽ. Hãy làm phẳng thành một hàng mỗi thẻ (với các trường cha được lặp lại) hoặc xử lý trước XML để đưa các thẻ vào dưới dạng chuỗi có dấu phân cách.

Câu Hỏi Thường Gặp Thêm

Công cụ có kiểm tra XML của tôi theo schema không?

Không. Nó chỉ kiểm tra tính hợp lệ về cấu trúc, dùng DOMParser tích hợp của trình duyệt. Nếu bạn cần xác thực XSD hoặc RELAX NG, hãy dùng công cụ chuyên dụng như xmllint, Saxon hoặc trình xác thực XML Schema của W3C, tính hợp lệ cấu trúc là đủ để làm phẳng an toàn thành CSV.

XML của tôi có thể lớn đến đâu?

Tùy thuộc vào những gì trình duyệt của bạn có thể chứa. Không có giới hạn phía máy chủ vì không có máy chủ nào liên quan. Hàng chục megabyte chuyển đổi trong một hoặc hai giây trên thiết bị hiện đại. Nếu bạn có hàng trăm megabyte XML, hãy chia theo lô trước khi chuyển đổi; chạy toàn bộ qua một tab trình duyệt có thể gặp giới hạn bộ nhớ.

Công cụ có xử lý không gian tên XML không?

Có, các phần tử có không gian tên như <atom:link> được nhận dạng và tiền tố được giữ nguyên trong tên cột. Nếu bạn không muốn tiền tố trong tiêu đề CSV, hãy chạy tìm kiếm và thay thế nhanh trên đầu ra để loại bỏ chúng.

XML của tôi có được tải lên đâu không?

Không. Tất cả phân tích và làm phẳng diễn ra trong trình duyệt của bạn thông qua DOMParser tích hợp. Nội dung textarea không bao giờ được truyền, ghi nhật ký hoặc lưu trữ. Khi tab bị đóng, dữ liệu biến mất.

Sự khác biệt giữa công cụ này và công cụ JSON sang CSV là gì?

Cùng mục tiêu (làm phẳng dữ liệu phân cấp thành hàng) nhưng định dạng đầu vào khác nhau. XML thì dài dòng hơn, cho phép thuộc tính, có không gian tên và dùng tham chiếu thực thể cho ký tự đặc biệt. Bộ chuyển đổi XML sang CSV xử lý những tính năng đó cụ thể; bộ chuyển đổi JSON sang CSV kỳ vọng đầu vào là mảng đối tượng. Nếu bạn có JSON, hãy dùng công cụ đó; nếu bạn có XML, công cụ này sẽ cho bạn kết quả sạch hơn.

Tôi có thể chuyển đổi ngược lại (CSV sang XML) không?

Không phải từ công cụ này, nhưng chiều ngược lại thường dễ hơn: chọn tên phần tử hàng, bao mỗi hàng lại và chuyển đổi mỗi cột thành phần tử con. Script Python hoặc Node nhỏ với csv + xml.etree xử lý điều này trong 20 dòng. Hoặc dùng công cụ dữ liệu có cấu trúc như Power Query của Excel, vốn có thể xuất CSV trở lại XML với schema đã chọn.

Công cụ liên quan

Trình Chuyển Đổi JSON Sang CSV Trình Chuyển Đổi JSON Sang YAML Trình xem bảng tính miễn phí