עבודה עם עיבוד 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 |