XML-feldolgozással való munka
XML-feldolgozással való munka
Az XLSX fájlok az adatokat XML részekben tárolják egy OPC csomagban. Az Aspose.Cells FOSS a .NET-hez négy mapper osztályon keresztül feltárja az XML elemzési és sorozatosítási réteget: WorkbookXmlMapper, WorksheetXmlMapper, SharedStringTableXmlMapper, és StylesheetXmlMapper.Minden térképező mindkettőt végrehajtja. Read és a Write Ezek a belső infrastruktúra API-k a legtöbb alkalmazási kód teljes egészében a Workbook és a Worksheet tárgyak.
XML-mappér osztályok
Minden XML-mapping egy XLSX struktúra XML részére felel:
| Térképező | XML rész | Felelősség |
|---|---|---|
WorkbookXmlMapper | xl/workbook.xml | Munkafüzet-szintű metaadatok, lap hivatkozások, meghatározott nevek |
WorksheetXmlMapper | xl/worksheets/sheetN.xml | Cellaadatok, képletek, hiperlinkek, feltételes formátumok, adatértékelés |
SharedStringTableXmlMapper | xl/sharedStrings.xml | A de-duplikált szalagértékek megosztott szaladlapja |
StylesheetXmlMapper | xl/styles.xml | Cella stílusok, betűtípusok és -betöltések, határok vagy számformátumok |
Minden térképkészítő két módszert mutat be Read és a következők: Write a könyvtár terhelése és az öntözési csatornák megtakarítása.
XmlParsingException
XmlParsingException Ha egy mapper rosszul formált XML-re talál, amit nem lehet javítani. WorkbookLoadException a hiba hierarchiájában, ha az XML-elemzés során történik hibás adatkezelés.
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);
}Tippek és legjobb gyakorlatok
- Összeállítva
TryRepairXml = truea következőkben:LoadOptionsa térképkészítő hibát toleráló elemzési útvonalának aktiválása. - Fogás.
XmlParsingExceptiona következők mellett:WorkbookLoadExceptionkülső rendszerekből származó fájlok kezelése esetén, amelyek hibás XML-formátumot adhatnak. - Az XML mapper osztályok nem készültek arra, hogy alkalmazási kód által példaképek legyenek automatikusan hívják őket az
Workbooképítés ésSave(). - Ha a diagnosztikai célból át kell nézni az XML-tartalmat, kivonják az XLSX-t ZIP formában és vizsgálják meg közvetlenül az érintett XML részeket.
Általános kérdések
| A kérdés | Okok | Megjavítani. |
|---|---|---|
XmlParsingException terhelve | A XLSX-részek egyikében hibás XML | Összeállítva TryRepairXml = true a következőkben: LoadOptions |
| A menet után hiányzó stílusok | StylesheetXmlMapper Nem sikerült a saját stílusjegyzék elemzése. | A csekk. LoadDiagnostics.Issues stílus-függő javítási bejegyzések esetében |
| A töltött fájlban hiányzó megosztott szalagok | SharedStringTableXmlMapper egy korrupt megosztott szalagasztalban találtunk. | Aptalom TryRepairXml; ellenőrizze, hogy az eredeti fájlt egy érvényes xl/sharedStrings.xml |
FAQ
Meg tudom valósítani a saját XML-tárolómat?
Az XML-mappersztályok zárt belső infrastruktúra. A sajátos mapperek nem támogathatók a jelenlegi API felületben.
Miért van külön… SharedStringTableXmlMapper?
Az OOXML specifikáció a szalagértékeket megosztott szalaga táblázatba (xl/sharedStrings.xmlA mapper a táblázat olvasását és írást önállóan kezeli.
- Igen. TryRepairXml = true Megoldani az összes XML problémát?
TryRepairXml a visszaállítható problémákat kezel, mint például az el nem zárott elemeket, hiányzó névterek és törölt értékek. A strukturálisan érvényes, de szemantikusan inkonszenzáns XML (pl. Törött képlet hivatkozások) még mindig okozhat XmlParsingException.
API-referencia összefoglaló
| Az osztály | Leírás |
|---|---|
WorkbookXmlMapper | Olvas/ír xl/workbook.xml |
WorksheetXmlMapper | Olvas/ír XML-részeket laponként |
SharedStringTableXmlMapper | Olvas/ír xl/sharedStrings.xml |
StylesheetXmlMapper | Olvas/ír xl/styles.xml |
XmlParsingException | Nem helyrehozható XML-elemzés hibái miatt. |