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

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

קבצי XLSX מאוחסנים את הנתונים שלהם בחלקים XML בתוך חבילת OPC. Aspose.Cells FOSS for .NET מציג את שכבת הפריסה והרדיואקטיביות של XML באמצעות ארבע קטגוריות תיקיה: WorkbookXmlMapper, WorksheetXmlMapper, SharedStringTableXmlMapper, ו StylesheetXmlMapper.כל תיבת הדואר מיישמת את שניהם. Read ו Write אלה הם APIs של תשתית פנימית – רוב קוד היישום עובד לחלוטין דרך Workbook ו Worksheet אובייקטים.


XML Mapper מדרגות

כל תיקי XML אחראי לחלק אחד של מבנה XLSX:

מפהחלק XMLאחריות
WorkbookXmlMapperxl/workbook.xmlנתונים מטא-דאו ברמת ספר העבודה, רמזים על לוח, שמות מוגדרים
WorksheetXmlMapperxl/worksheets/sheetN.xmlנתונים תאיים, טופס, קישורים יתר, פורמטים תנאי, אימות נתוני
SharedStringTableXmlMapperxl/sharedStrings.xmlלוח שורות משותף עבור ערכי שורת מופחתים
StylesheetXmlMapperxl/styles.xmlסגנונות תאים, טקסטים, מילונים, גבולות, פורמטים מספרים

כל תיעוד מראה שתי שיטות - Read ו Write - הוזכר על ידי העומס של הספרייה והחילוץ של צינורות בהתאמה.


XmlParsingException

XmlParsingException הוא נזרק כאשר קובץ פוגש XML שגוי שאינו ניתן לתקן. WorkbookLoadException בהיראקיה של שגיאה כאשר השגיעה מתרחשת במהלך XML parsing ספציפי.

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);
}

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

  • סדנה TryRepairXml = true בתוך LoadOptions כדי לאפשר את מסלול הפריסה של המפה שגויה.
  • Catch XmlParsingException בנוסף ל WorkbookLoadException כאשר מתמודדים עם קבצים ממערכות חיצוניות שיכולות לייצר XML מופרך.
  • שיעורי המפות XML אינם נועדו להיות מותאמים לפי קוד היישום – הם מתבקשים באופן אוטומטי במהלך Workbook בנייה ו Save().
  • אם אתה צריך לבדוק את התוכן XML הירוק עבור אבחון, להוציא את XLSX כ- ZIP ולבדוק ישירות את החלקים הרלוונטיים של XML.

בעיות נפוצות

נושאסיבהקבע
XmlParsingException על הלחץXML מזיק באחד החלקים של XLSXסדנה TryRepairXml = true בתוך LoadOptions
סגנונות חסרים לאחר טיול סביבStylesheetXmlMapper לא יכול להרוס רשומות סגנון קבועצפו LoadDiagnostics.Issues עבור כניסות תיקון הקשורות לסגנון
שורות משותפות שנעלמו בקובץ הועלהSharedStringTableXmlMapper פגשתי שולחן שבור משותףמאפשרת TryRepairXml;• קובץ מקורי יש תוקף xl/sharedStrings.xml

FAQ

האם אני יכול לבצע את המפה שלי XML?

שיעורי המפות XML הם תבנית פנימית.מפתים מותאמים אישית אינם נתמכים על פני השטח הנוכחי של API.

למה יש נפרד SharedStringTableXmlMapper?

ה- OOXML מפרק ערכים של שורות לתוך לוח שורה משותף (xl/sharedStrings.xml• כדי להכפיל שורות חוזרות לאורך ספר העבודה.המפה מתמודדת עם קריאה וכתבה של טבלה זו באופן עצמאי.

האם TryRepairXml = true האם יש בעיות XML?

TryRepairXml מתמודדים עם בעיות חוזרות כגון אלמנטים לא סגורים, שטחי שם חסרים וערכים מעוותים. XML שווה מבחינה מבנית אך אינו עקבי מבחינת סמיאנטית (לדוגמה, רמזים של טופס שבור) עדיין עלול לגרום XmlParsingException.


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

שיעורתיאור
WorkbookXmlMapperקריאה / כתבות xl/workbook.xml
WorksheetXmlMapperקריאה/כתבה על-ידי רשימה של חלקים XML
SharedStringTableXmlMapperקריאה / כתבות xl/sharedStrings.xml
StylesheetXmlMapperקריאה / כתבות xl/styles.xml
XmlParsingExceptionעקבו אחרי unrecoverable XML parse failure

ראה גם

 עברית