Làm việc với XML Processing

Làm việc với XML Processing

Làm việc với XML Processing

Aspose.Cells FOSS for C++ uses a lightweight internal XML layer to read and write the Open XML parts that make up an XLSX file. The XmlDocument, XmlElement, và XmlAttribute Các lớp học hình thành cốt lõi của lớp này.


Tải tài liệu XML

Sử dụng XmlDocument::Load để phân đoạn một string XML hoặc tệp vào cây tài liệu trong bộ nhớ:

#include "aspose/cells_foss/XmlDocument.h"

using namespace Aspose::Cells_FOSS;

// Load from string content
XmlDocument doc;
doc.Load("<root><item key=\"a\">value</item></root>");

Xây dựng và tiết kiệm XML

Sử dụng XmlDocument::Build để xây dựng một tài liệu XML theo lập trình, và XmlDocument::SaveToUtf8 để phân loại nó trở lại một dòng UTF-8:

XmlDocument doc;
// Build the document structure
auto xml = doc.SaveToUtf8();

Chuyến đi Elements

XmlElement cung cấp truy cập dựa trên bàn tay nhẹ đến các giá trị yếu tố, trẻ em và thuộc tính. IsNull() == true, có thể được sử dụng như một kiểm tra null an toàn:

XmlElement root = doc.GetRootElement();
if (!root.IsNull()) {
    // Traverse children via GetAttributes
    auto attrs = root.GetAttributes();
}

Làm việc với Attributes

XmlAttribute cung cấp quyền truy cập để phân bổ tên và giá trị cặp trên một yếu tố. XmlAttribute::MakeAttribute(name, value) Để tạo ra các thuộc tính mới:

XmlAttribute attr = XmlAttribute::MakeAttribute("key", "value");
bool isNull = attr.IsNull();

Mã XML Internal

Thư viện sử dụng các lớp bản đồ dành riêng để chuyển đổi trong bộ nhớ biểu mẫu đối tượng sang và từ đại diện XML của họ.:

Mapper lớp họcResponsibility
WorkbookXmlMapperĐọc và viết phần mối quan hệ sổ làm việc
WorksheetXmlMapperĐọc và viết các phần XML của sổ làm việc cá nhân
StylesheetXmlMapperĐọc và viết các phong cách phần
SharedStringTableXmlMapperĐọc và viết bảng chia sẻ dây

Mỗi bản đồ được trình bày ReadWrite Các phương pháp này được gọi là nội bộ bởi XlsxWorkbookSerializer và không được thiết kế để sử dụng trực tiếp trong mã ứng dụng.


Xử lý lỗi

XML Parsing Errors Throw Lỗi Xử lý XmlParsingException.Chụp ngoại lệ này khi tải XML không tin cậy hoặc sai định dạng:

try {
    doc.Load(xmlContent);
} catch (const XmlParsingException& ex) {
    // Handle parse error
}

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

  • Check XmlElement::IsNull() trước khi truy cập dữ liệu yếu tố - các yếu phẩm trên đường lối thiếu trở lại một bàn tay không.
  • Sử dụng XmlDocument::SaveToUtf8() để có được một dòng hàng loạt cho việc debugging hoặc logging trạng thái XML trung gian.
  • Không nên dùng các loại đồ họa (WorkbookXmlMapper, WorksheetXmlMapper, vv) trực tiếp trong mã ứng dụng - sử dụng Workbook::SaveWorkbook(filePath) Thay vào đó.
  • XmlParsingException được ném vào XML bị biến dạng; luôn bao gồm các tải XML bên ngoài trong một khối thử / chặn.

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

IssueCauseFix Đặt
IsNull() Trở lại thậtCác yếu tố không được tìm thấy trên con đường dự kiếnKiểm tra cấu trúc XML trước khi đi qua
XmlParsingException trên tảiXác định hoặc không có UTF-8 XMLXác định nhập XML trước khi chuyển sang Load
Mã sản phẩm khác với inputMô hình biến đổi trước khi tiết kiệmHãy chắc chắn rằng tất cả các thay đổi mô hình được thực hiện trước khi gọi điện thoại. Save

Tóm tắt Tham chiếu API

lớp học / phương phápDescription
XmlDocument::Load(content)Chia sẻ một string XML
XmlDocument::Build()Xây dựng tài liệu theo chương trình
XmlDocument::SaveToUtf8()Xét bản tài liệu đến một dòng UTF-8
XmlElement::IsNull()Kiểm tra xem mục xử lý có hiệu lực không
XmlElement::GetValue()Nhận nội dung văn bản của mục
XmlElement::GetAttributes()Nhận bộ sưu tập attribute
XmlAttribute::IsNull()Kiểm tra xem tài liệu có hợp lệ hay không
XmlAttribute::MakeAttribute(name, value)Tạo một tài nguyên mới
XmlParsingExceptionThrown trên malformed XML input
WorksheetXmlMapperTính năng: XML read/write
WorkbookXmlMapperSách làm việc nội bộ XML read/write

See Also

 Tiếng Việt