Práce s XML zpracováním

Práce s XML zpracováním

XLSX soubory ukládají své údaje v částech XML uvnitř balíčku OPC. Aspose.Cells FOSS pro .NET odhaluje vrstvu analýzy a serializace XML prostřednictvím čtyř mapových tříd: WorkbookXmlMapper, WorksheetXmlMapper, SharedStringTableXmlMapper,a) StylesheetXmlMapper.Každý mapovatel provádí obě. Read a) Write Tyto jsou interní infrastruktury API většina aplikačního kódu funguje zcela prostřednictvím Workbook a) Worksheet předměty.


Třídy mapování XML

Každý XML mapér je zodpovědný za jednu část XLSX struktury:

MaperČást XMLOdpovědnost
WorkbookXmlMapperxl/workbook.xmlMetadata na úrovni pracovního seznamu, odkazy do listů a definované názvy
WorksheetXmlMapperxl/worksheets/sheetN.xmlÚdaje o buňkách, vzorce, hypertextové odkazy, podmíněné formáty, ověřování údajů
SharedStringTableXmlMapperxl/sharedStrings.xmlSdílená tabulka řetězců pro odduplikované hodnoty řety
StylesheetXmlMapperxl/styles.xmlStylové buňky, písma, vyplnění, hranice a číselné formáty

Každý mapovatel ukazuje dvě metody Read a) Write vyvolává zatížení knihovny a šetří potrubí.


XmlParsingException

XmlParsingException je vržen, když mapper setkává s nesprávně formovaným XMLem, který nelze opravit. Je zvolen před WorkbookLoadException v hierarchii chyb, pokud selhání nastane během 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 nejlepší postupy

  • Sestavení: TryRepairXml = true v . LoadOptions umožnit mapování chyb tolerující dráhy.
  • Rybíček XmlParsingException Kromě: WorkbookLoadException při manipulaci s soubory z externích systémů, které mohou vyvolat chybně formovaný XML.
  • XML mapper třídy nejsou zamýšleny být instanciated aplikačním kódem jsou automaticky volány během Workbook stavebnictví a Save().
  • Pokud potřebujete zkontrolovat surový obsah XML pro diagnostiku, extrahujte XLSX jako ZIP a přímo zkoumejte příslušné části XML.

Obvyklé problémy

Výše:Příčina:Opravy
XmlParsingException na nákladuZneuformovaný XML v jedné z částí XLSXSestavení: TryRepairXml = true v . LoadOptions
Chybějící styly po cestě zpět a zpětStylesheetXmlMapper nemohl analyzovat záznam s vlastním stylemČek. LoadDiagnostics.Issues pro položky opravy související se stylem,
Sdílené řetězce chybí v načteném souboruSharedStringTableXmlMapper Našel zkažený sdílený řetězový tabulkyPovolení TryRepairXml; ověřit, zda původní soubor má platnou xl/sharedStrings.xml

FAQ

Můžu implementovat svůj vlastní XML maper?

XML mapperové třídy jsou uzavřené vnitřní infrastruktura. Custom mappers nejsou podporovány ve stávajícím API povrchu.

Proč je tam oddělená? SharedStringTableXmlMapper?

Specifikace OOXML odděluje hodnoty řetězců do sdílené tabulky řety (xl/sharedStrings.xmlMapper zpracovává čtení a psaní této tabulky nezávisle na sobě.

- Ano. TryRepairXml = true Vyřešit všechny problémy s XML?

TryRepairXml Structurálně platné, ale semanticky nesouladné XML (např. zlomené odkazy na vzorce) může stále způsobit: XmlParsingException.


Souhrnná referenční informace API

TřídaPopis:
WorkbookXmlMapperČtení/psaní xl/workbook.xml
WorksheetXmlMapperČíst/psaní částí XML na listy
SharedStringTableXmlMapperČtení/psaní xl/sharedStrings.xml
StylesheetXmlMapperČtení/psaní xl/styles.xml
XmlParsingExceptionNevyřešitelné selhání v analýze XML
 Čeština