العمل مع XML Processing

العمل مع XML Processing

العمل مع 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,، و 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 throw XmlParsingException.التقاط هذه الاستثناء عند تحميل XML غير موثوق به أو معطوفة:

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

نصائح وأفضل الممارسات

  • التحقق XmlElement::IsNull() قبل الوصول إلى بيانات العنصر العناصر في المسارات المفقودة تعيد معالجة null.
  • استخدام XmlDocument::SaveToUtf8() للحصول على سلسلة تسلسلية لتصحيح أو تسجيل حالة XML الوسيطة.
  • لا تحرك فئات خريطة الخرائط (WorkbookXmlMapper, WorksheetXmlMapper,، إلخ) مباشرة في استخدام رمز الطلب Workbook::Save و Workbook(filePath) بدلاً من ذلك.
  • XmlParsingException يتم إلقاء على XML غير المنشأ؛ دائماً لف حمولات XML الخارجية في كتلة محاولة/مساعدة.

القضايا المشتركة

القضيةالسببإصلاح
IsNull() يعود trueالعنصر غير موجود في المسار المتوقعالتحقق من هيكل XML قبل البحث
XmlParsingException في الحملXML غير متشكل أو غير UTF-8تأكيد إدخال 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 معطى الصيغة
WorksheetXmlMapperورقة عمل داخلية XML للقراءة/الكتابة
WorkbookXmlMapperكتاب عمل داخلي XML للقراءة/الكتابة

انظر أيضا

 العربية