XML प्रोसेसिंग के साथ काम करना

XML प्रोसेसिंग के साथ काम करना

XML प्रोसेसिंग के साथ काम करना

XLSX फ़ाइलें अपना डेटा XML भागों में OPC पैकेज के अंदर संग्रहीत करती हैं। Aspose.Cells FOSS for .NET XML पार्सिंग और सीरियलाइज़ेशन लेयर को चार मैपर क्लासों के माध्यम से उजागर करता है: WorkbookXmlMapper, WorksheetXmlMapper, SharedStringTableXmlMapper, और StylesheetXmlMapper. प्रत्येक मैपर अपने संबंधित XML भाग के लिए Read और Write दोनों ऑपरेशन्स को लागू करता है। ये आंतरिक इन्फ्रास्ट्रक्चर API हैं — अधिकांश एप्लिकेशन कोड पूरी तरह से Workbook और Worksheet ऑब्जेक्ट्स के माध्यम से काम करता है।


XML मैपर क्लासेस

प्रत्येक XML मैपर XLSX संरचना के एक XML भाग के लिए ज़िम्मेदार है:

MapperXML भागResponsibility
WorkbookXmlMapperxl/workbook.xmlवर्कबुक-स्तर मेटाडेटा, शीट संदर्भ, परिभाषित नाम
WorksheetXmlMapperxl/worksheets/sheetN.xmlसेल डेटा, सूत्र, हाइपरलिंक, शर्तीय स्वरूप, डेटा वैधता
SharedStringTableXmlMapperxl/sharedStrings.xmlडुप्लिकेशन हटाए गए स्ट्रिंग मानों के लिए साझा स्ट्रिंग टेबल
StylesheetXmlMapperxl/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 में सेट करें ताकि मैपर का त्रुटि-सहिष्णु पार्सिंग पाथ सक्षम हो सके।
  • बाहरी प्रणालियों से आने वाली फाइलों को संभालते समय जो विकृत XML उत्पन्न कर सकती हैं, XmlParsingException को WorkbookLoadException के अतिरिक्त पकड़ें।
  • XML मैपर क्लासेस को एप्लिकेशन कोड द्वारा इंस्टैंसिएट करने के लिए नहीं बनाया गया है — इन्हें Workbook निर्माण और Save() के दौरान स्वतः कॉल किया जाता है।
  • यदि आपको निदान के लिए कच्चा XML कंटेंट निरीक्षण करने की आवश्यकता है, तो XLSX को ZIP के रूप में एक्सट्रैक्ट करें और सीधे संबंधित XML भागों को देखें।

सामान्य समस्याएँ

समस्याकारणसमाधान
XmlParsingException लोड परXLSX भागों में से एक में विकृत XMLLoadOptions में TryRepairXml = true सेट करें
राउंड-ट्रिप के बाद शैलियाँ अनुपलब्धStylesheetXmlMapper कस्टम शैली रिकॉर्ड को पार्स नहीं कर सकाLoadDiagnostics.Issues में शैली-संबंधित मरम्मत प्रविष्टियों की जाँच करें
लोड की गई फ़ाइल में साझा स्ट्रिंग्स अनुपस्थितSharedStringTableXmlMapper ने भ्रष्ट साझा स्ट्रिंग तालिका पाईTryRepairXml सक्षम करें; सत्यापित करें कि मूल फ़ाइल में वैध xl/sharedStrings.xml है

FAQ

क्या मैं अपना खुद का XML मैपर लागू कर सकता हूँ?

XML मैपर क्लासेज़ सीलबंद आंतरिक बुनियादी ढांचा हैं। वर्तमान API सतह में कस्टम मैपर्स समर्थित नहीं हैं।

एक अलग SharedStringTableXmlMapper क्यों है?

OOXML विशिष्टता स्ट्रिंग मानों को एक साझा स्ट्रिंग टेबल (xl/sharedStrings.xml) में विभाजित करती है ताकि वर्कबुक में दोहराए गए स्ट्रिंग्स को डिडुप्लिकेट किया जा सके। मैपर इस टेबल को स्वतंत्र रूप से पढ़ने और लिखने को संभालता है।

क्या TryRepairXml = true सभी XML समस्याओं को ठीक करता है?

TryRepairXml पुनर्प्राप्ति योग्य समस्याओं को संभालता है जैसे कि अनक्लोज़्ड एलिमेंट्स, गायब नेमस्पेसेस, और ट्रंकेटेड वैल्यूज़। संरचनात्मक रूप से वैध लेकिन अर्थ में असंगत XML (जैसे टूटे हुए फ़ॉर्मूला रेफ़रेंसेज़) अभी भी XmlParsingException का कारण बन सकते हैं।


API Reference सारांश

क्लासविवरण
WorkbookXmlMapperपढ़ता/लिखता xl/workbook.xml
WorksheetXmlMapperप्रति-शीट XML भाग पढ़ता/लिखता
SharedStringTableXmlMapperपढ़ता/लिखता xl/sharedStrings.xml
StylesheetXmlMapperपढ़ता/लिखता xl/styles.xml
XmlParsingExceptionअपरिवर्तनीय XML पार्स विफलताओं पर फेंका जाता है

यह भी देखें

 हिन्दी