Làm việc với XML Processing

Làm việc với XML Processing

Các tệp XLSX lưu trữ dữ liệu của họ trong các bộ phận XML bên trong một gói OPC. Aspose.Cells FOSS cho .NET tiết lộ lớp phân phối và phân loại XML thông qua bốn lớp bản đồ: WorkbookXmlMapper, WorksheetXmlMapper, SharedStringTableXmlMapper, và StylesheetXmlMapper.Mỗi bản đồ đều thực hiện cả hai ReadWrite Các hoạt động cho phần XML tương ứng của nó. Đây là APIs cơ sở hạ tầng nội bộ - hầu hết mã ứng dụng hoạt hình hoàn toàn thông qua các hệ thống WorkbookWorksheet đối tượng .


Khóa học XML Mapper

Mỗi thư mục XML chịu trách nhiệm cho một phần XML của cấu trúc XLSX:

MapperXML phầnResponsibility
WorkbookXmlMapperxl/workbook.xmlMét dữ liệu cấp Workbook, tham chiếu bảng, tên định nghĩa
WorksheetXmlMapperxl/worksheets/sheetN.xmlDữ liệu tế bào, công thức, hyperlinks, định dạng điều kiện, xác thực dữ liệu
SharedStringTableXmlMapperxl/sharedStrings.xmlBảng chia rẽ cho các giá trị string de-duplicated
StylesheetXmlMapperxl/styles.xmlPhong cách ô, phông chữ, lấp đầy, giới hạn, định dạng số

Mỗi bản đồ trình bày hai phương pháp - ReadWrite - được gọi bởi tải thư viện và lưu các ống liên quan.


XmlParsing ngoại lệ

XmlParsingException được ném khi một thư mục gặp gỡ XML bị biến dạng mà không thể sửa chữa. nó được nâng lên trước đó WorkbookLoadException trong các biểu đồ lỗi khi thất bại xảy ra trong quá trình xml phân phối cụ thể.

using Aspose.Cells_FOSS;

var opts = new LoadOptions
{
    TryRepairPackage = true,
    TryRepairXml = true,
};

try
{
    var wb = new Workbook("malformed.xlsx", opts);
    Console.WriteLine("Loaded: " + wb.Worksheets.Count + " sheet(s)");
}
catch (XmlParsingException ex)
{
    Console.WriteLine("XML parse error: " + ex.Message);
}
catch (WorkbookLoadException ex)
{
    Console.WriteLine("Load error: " + ex.Message);
}

Mẹo và Thực hành Tốt nhất

  • Set Đặt TryRepairXml = true trong LoadOptions để cho phép con đường đúc nhầm của bản đồ.
  • Catch XmlParsingException Ngoài ra còn WorkbookLoadException khi xử lý các tập tin từ các hệ thống bên ngoài có thể tạo ra XML bị biến dạng.
  • Các lớp bản tệp XML không được thiết kế để được cài đặt bằng mã ứng dụng – chúng được gọi tự động trong thời gian Workbook Xây dựng và Save().
  • Nếu bạn cần kiểm tra nội dung XML nguyên liệu cho chẩn đoán, hãy lấy XLSX như một ZIP và xem xét các phần XML liên quan trực tiếp.

Các vấn đề thường gặp

IssueCauseFix Đặt
XmlParsingException trên tảiXML bị hư cấu trong một phần XLSXSet Đặt TryRepairXml = true trong LoadOptions
Những phong cách mất tích sau chuyến đi vòng trònStylesheetXmlMapper Không thể ghi lại một bản ghi kiểu tùy chỉnhCheck LoadDiagnostics.Issues cho các bản sửa chữa liên quan đến phong cách
Chia sẻ các dây mất trong tệp tảiSharedStringTableXmlMapper gặp một bảng chia sẻ string bị hư hạiEnable TryRepairXml;• Kiểm tra file gốc có hiệu lực xl/sharedStrings.xml

FAQ

Tôi có thể thực hiện bản xml của riêng tôi không?

Các lớp bản tệp XML được đóng dấu trong cơ sở hạ tầng nội bộ. Bản tàng tùy chỉnh không được hỗ trợ trên bề mặt API hiện tại.

Tại sao lại có một sự riêng biệt SharedStringTableXmlMapper?

Các thông số cụ thể OOXML phân chia các giá trị dòng thành một bảng dòng chung (xl/sharedStrings.xmlđể de-duplicate các dòng lặp lại trên sổ làm việc. thư mục quản lý đọc và viết bảng này độc lập.

Does TryRepairXml = true Xóa tất cả các vấn đề XML?

TryRepairXml xử lý các vấn đề có thể phục hồi như các yếu tố không khóa, mất tên và giá trị bị trượt. XML có tính cấu trúc nhưng không phù hợp về mặt tinh thần (ví dụ: tham chiếu công thức bị hỏng) vẫn có khả năng gây ra XmlParsingException.


Tóm tắt Tham chiếu API

ClassDescription
WorkbookXmlMapperĐọc / viết xl/workbook.xml
WorksheetXmlMapperĐọc/thiết viết phần XML mỗi bảng
SharedStringTableXmlMapperĐọc / viết xl/sharedStrings.xml
StylesheetXmlMapperĐọc / viết xl/styles.xml
XmlParsingExceptionThrown trên bất khả phục hồi XML parse thất bại

See Also

 Tiếng Việt