العمل مع XML Processing
العمل مع XML Processing
يتم تخزين ملفات XLSX بياناتها في أجزاء XML داخل حزمة OPC. Aspose.Cells FOSS for .NET يعرض طبقة XML من التفريغ والتسلسل من خلال أربعة فصول خرائط: WorkbookXmlMapper, WorksheetXmlMapper, SharedStringTableXmlMapper,و ، و StylesheetXmlMapper.كل خريطة تنفذ كلاهما Read و Write هذه هي البنية التحتية الداخلية APIs - معظم رمز التطبيق يعمل بالكامل من خلال Workbook و Worksheet الأجسام .
XML Mapper الفصول الدراسية
كل خريطة XML مسؤولة عن جزء واحد من هيكل XLSX:
| خريطة | XML جزء | المسؤولية |
|---|---|---|
WorkbookXmlMapper | xl/workbook.xml | بيانات مستوى الكتاب، مرجعية الورقة، أسماء محددة |
WorksheetXmlMapper | xl/worksheets/sheetN.xml | البيانات الخلوية، الصيغ، الروابط العليا، تنسيقات مشروطة، التحقق من البيان |
SharedStringTableXmlMapper | xl/sharedStrings.xml | جدول الحبل المشترك لـ قيم الحبال المضاعفة |
StylesheetXmlMapper | xl/styles.xml | أنماط الخلايا، الخطوط، ملء، الحدود، تنسيقات الأرقام |
كل خريطة تظهر طريقتين - Read و Write - استدعاء من خلال الحمل المكتبي وتخزين الأنابيب على التوالي.
XmlParsingException
XmlParsingException يتم رميها عندما يلتقي خريطة XML غير صالحة التي لا يمكن إصلاحها. WorkbookLoadException في الهرم الخطأ عندما يحدث الفشل أثناء XML تداول على وجه التحديد.
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لتسمح مسار التسامح الخاطئ للمجلد. - القبض
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 | إلغاء فشل XML غير قابل للرد |