עבודה עם עיבוד XML

עבודה עם עיבוד XML

עבודה עם עיבוד XML

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, ו XmlAttribute המעמד הוא הליבה של שכבה זו.


להורדה של מסמך XML

שימוש XmlDocument::Load כדי לחלק שורת XML או קובץ לתוך עץ המסמך בזיכרון:

#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>");

בניית וחיסכון XML

שימוש XmlDocument::Build כדי לבנות מסמך XML באופן מתוכנן, ו XmlDocument::SaveToUtf8 כדי לסדר את זה בחזרה לשורת UTF-8:

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

חוצות אלמנטים

XmlElement מספק גישה מבוססת יד קל לערכים של פריטים, ילדים ואתרים. IsNull() == true,ניתן להשתמש בתור אפס-צ’ק בטוח:

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

עבודה עם אטרקציות

XmlAttribute מספק גישה לספירה של זוגות שמות וערכים על פריט. XmlAttribute::MakeAttribute(name, value) כדי ליצור תכונות חדשות:

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

מפת XML פנימית

הספרייה משתמשת בכיתות קופסאות מיוחדות כדי להמיר אובייקטים מודל של לוח זרם זיכרון ל- XML שלהם ומאז.:

מפה בכיתהאחריות
WorkbookXmlMapperקורא וכתוב את החלק היחסים של ספר העבודה
WorksheetXmlMapperקורא וכתוב חלקים של לוח עבודה XML בודדים
StylesheetXmlMapperקוראים וכתוב את החלק של סגנונות
SharedStringTableXmlMapperקורא וכתוב את לוח השרשרת המשותפים

כל תיעוד מופיע Read ו Write כל אלה נקראים פנימית על ידי XlsxWorkbookSerializer לא נועד לשימוש ישיר בקוד היישום.


טיפול בשגיאות

XML Parsing שגיאות לזרוק XmlParsingException.תפס את ההפרדה הזאת בעת הטעינה של XML לא מאובטח או מופרך:

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

טיפים ושיטות טובות

  • צפו XmlElement::IsNull() לפני גישה לנתונים של פריטים – פריטי מסלולים חסרים מחזירים כונן אפס.
  • שימוש XmlDocument::SaveToUtf8() כדי לקבל רצועה סריאליסטית לדיבוג או להיכנס למצב XML ביניים.
  • לא להזמין את המועדון (WorkbookXmlMapper, WorksheetXmlMapper, וכו ‘) ישירות בקוד היישום - שימוש Workbook::Save ו Workbook(filePath) במקום זאת.
  • XmlParsingException הוא נזרק על XML מוטעה; תמיד להטביע את העומסים החיצוניים של XML בלוק ניסיון / קצירה.

בעיות נפוצות

נושאסיבהקבע
IsNull() חזרה אמיתיתלא נמצאו בדרכים צפויותבדוק את מבנה ה-XML לפני הקריאה
XmlParsingException על הלחץתבנית: לא-UTF-8 XMLהקלד את הכניסה XML לפני העברת Load
תוצאות המפה שונות מהכנסותשינויים לפני הצלתכל שינויים במודל נעשים לפני שיקראו את המערכת. Save

סיכום התייחסות API

שיעור / שיטהתיאור
XmlDocument::Load(content)להגדיר רצועת XML
XmlDocument::Build()יצירת מסמך מתוכנן
XmlDocument::SaveToUtf8()סריליזציה של המסמך לשורה UTF-8
XmlElement::IsNull()בדוק אם התכנית תקין.
XmlElement::GetValue()קבל את התוכן הטקסט של החלק
XmlElement::GetAttributes()קבל את אוסף האתרים
XmlAttribute::IsNull()בדוק אם התכונה נכונה.
XmlAttribute::MakeAttribute(name, value)יצירת תכונה חדשה של ניהול
XmlParsingExceptionתגיות: XML Input Malformed
WorksheetXmlMapperדף עבודה XML Read/Write
WorkbookXmlMapperספר עבודה פנימי XML Read/Write

ראה גם

 עברית