Práca s XML spracovaním

Práca s XML spracovaním

Súbory XLSX ukladajú svoje údaje v častiach XML vo vnútri balíka OPC. Aspose.Cells FOSS pre .NET odhaľuje vrstvu analýzy a serializácie XML prostredníctvom štyroch mapových tried: WorkbookXmlMapper, WorksheetXmlMapper, SharedStringTableXmlMapper,a) StylesheetXmlMapper.Každý mapér implementuje obe funkcie . Read a) Write Tieto sú interné API infraštruktúry väčšina aplikácie kód funguje úplne prostredníctvom Workbook a) Worksheet predmety.


Triedy mapovačov XML

Každý XML mapper je zodpovedný za jednu časť XLSX štruktúry:

Mapper (mapovač)Časť XMLZodpovednosť
WorkbookXmlMapperxl/workbook.xmlMetadata na úrovni pracovného zoznamu, odkazy na hárky a definované názvy
WorksheetXmlMapperxl/worksheets/sheetN.xmlÚdaje o bunkách, vzorce, hypertextové odkazy, podmienené formáty, overovanie údajov
SharedStringTableXmlMapperxl/sharedStrings.xmlZdieľaná tabuľka reťazcov pre de-duplikované hodnoty reťaze
StylesheetXmlMapperxl/styles.xmlŠtyly buniek, písma, vyplnenie, hranice, číselné formáty

Každý mapér zobrazuje dve metódy Read a) Write vyvolané zaťažením knižnice a šetrením potrubí.


XmlParsingException

XmlParsingException je vyhodený, keď mapper stretne nesprávny XML, ktorý nemôže byť opravený. Je vyzdvihnutý pred WorkbookLoadException v hierarchii chýb, ak sa zlyhanie vyskytne počas analýzy 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);
}

Tipy a najlepšie postupy

  • Sadzba TryRepairXml = true v: LoadOptions umožniť mapovačovi chybovo tolerantnú cestu analýzy.
  • Zlovák: XmlParsingException Okrem: WorkbookLoadException pri manipulácii s súbormi z externých systémov, ktoré môžu produkovať nesprávne formované XML.
  • XML mapper triedy nie sú určené na instanciated aplikácie kódu oni sa automaticky vyzýva počas Workbook stavebníctvo a Save().
  • Ak potrebujete preveriť surový obsah XML na diagnostiku, vyťahujte XLSX ako ZIP a priamo preskúmajte príslušné časti XML.

Spoločné problémy

VýstavaPríčina:Oprava
XmlParsingException na zaťaženieZlyšený XML v jednej z častí XLSXSadzba TryRepairXml = true v: LoadOptions
Chýbajúce štýly po výlete späť a naspäťStylesheetXmlMapper Nedokázala sa analyzovať vlastný štýlový záznamPrehľad LoadDiagnostics.Issues pre položky o opravách súvisiacich so štýlom,
Zdieľané reťazce chýbajú v načítanom súboreSharedStringTableXmlMapper nájdená skorumpovaná zdieľaná struna tabuľkyPovolenie TryRepairXml; overte, či pôvodný súbor má platnú verziu. xl/sharedStrings.xml

FAQ

Môžem implementovať vlastný XML mapper?

Triedy XML mapper sú uzavretá vnútorná infraštruktúra. Obvyklé mapery nie sú podporované v súčasnom API povrchu.

Prečo je tu samostatná SharedStringTableXmlMapper?

Špecifikácia OOXML oddeľuje hodnoty reťazcov do zdieľanej tabuľky reťaziek (xl/sharedStrings.xmlMapper spracováva čítať a písať túto tabuľku nezávisle.

Je to tak ? TryRepairXml = true vyriešiť všetky problémy s XML?

TryRepairXml spracováva obnoviteľné problémy, ako sú nezatvorené prvky, chýbajúce menové priestory a skrátené hodnoty. Štruktúrne platné ale semanticky nekonzistentné XML (napr. zlomené odkazy na vzorce) môže stále spôsobiť XmlParsingException.


Zhrnutie referenčného API

TriedaOpis:
WorkbookXmlMapperČíta/píšete xl/workbook.xml
WorksheetXmlMapperČíta/píšie časti XML na hárok
SharedStringTableXmlMapperČíta/píšete xl/sharedStrings.xml
StylesheetXmlMapperČíta/píšete xl/styles.xml
XmlParsingExceptionVhodené na nenapraviteľné poruchy analýzy XML
 Slovenčina