Arbejde med XML-behandling

Arbejde med XML-behandling

Arbejde med XML-behandling

XLSX-filer gemmer deres data i XML dele inde i en OPC pakke. Aspose.Cells FOSS for .NET udsætter XML parsing og serialisering lag gennem fire mapper klasser: WorkbookXmlMapper, WorksheetXmlMapper, SharedStringTableXmlMapper, og StylesheetXmlMapper.Hver kortlægger implementerer begge dele. Read og: Write Disse er interne infrastruktur API’er de fleste applikationskode fungerer helt gennem den Workbook og: Worksheet genstande.


XML-mapperklasser

Hver XML-mappere er ansvarlig for en XML del af XLSX strukturen:

KartografXML-delForpligtelse
WorkbookXmlMapperxl/workbook.xmlMetadata på arbejdsbogniveau, referencer til ark og definerede navne
WorksheetXmlMapperxl/worksheets/sheetN.xmlCeldata, formler, hyperlinks, betingede formater, datavalidering
SharedStringTableXmlMapperxl/sharedStrings.xmlDelte strenge for de-duplicerede stringværdier
StylesheetXmlMapperxl/styles.xmlCellstiler, skrifttyper, fyldninger, grænser og nummerformater

Hver kortlægger viser to metoder Read og: Write påberåbes af biblioteksbelastningen og sparer henholdsvis rørledninger.


XmlParsingException

XmlParsingException er kastet, når en mapper støder på misdannede XML som ikke kan repareres. Det bliver rejst før WorkbookLoadException i fejlhierarkiet, når fejlen sker under XML-parsering specifikt.

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);
}

Tips og bedste praksis

  • Indstilling TryRepairXml = true i den LoadOptions at aktivere mapperens fejl-tolerante parseringsvej.
  • Fanger XmlParsingException Ud over: WorkbookLoadException ved håndtering af filer fra eksterne systemer, som kan producere fejlformet XML.
  • XML-mapper klasserne er ikke beregnet til at blive instancieret af applikationskode de opkaldt automatisk under Workbook bygge- og anlægsvirksomhed Save().
  • Hvis du skal undersøge rå XML-indhold til diagnostik, udtræk XLSX som en ZIP og undersøg de relevante XML dele direkte.

Almindelige problemer

Udgave:Årsagen til detteForklaret
XmlParsingException på lastFejlformet XML i en af XLSX-deleneIndstilling TryRepairXml = true i den LoadOptions
Fraværende stilarter efter returrejseStylesheetXmlMapper Kunne ikke analysere en brugerdefineret stilrekordKontrollering LoadDiagnostics.Issues for stilrelaterede reparationsoplysninger
Fraværende delte strenge i indlæst filSharedStringTableXmlMapper har fundet en korrupt delt string-tabelAktiverer TryRepairXml;Verificer, at den originale fil har en gyldig . xl/sharedStrings.xml

FAQ

Kan jeg implementere min egen XML mapper?

XML-mapperklasserne er en forseglet intern infrastruktur. Tilpassede mappers understøttes ikke i den aktuelle API-overflade.

Hvorfor er der en separat SharedStringTableXmlMapper?

OOXML-specifikationen adskiller strengeværdier i en delt stringtabell (xl/sharedStrings.xmlDet er en funktion, der skal bruges til at fjerne duplikater af gentagne strenge i alle arbejdsbøger.

- Ja. Det gør det. TryRepairXml = true - Forklar alle XML-problemer?

TryRepairXml strukturelt gyldig, men semantisk inkonsekvent XML (f.eks. brudte formelreferencer) kan stadig forårsage XmlParsingException.


API-referenceoversigt

KlasseBeskrivelse:
WorkbookXmlMapperLæser/skriver xl/workbook.xml
WorksheetXmlMapperLæser/skriver XML-dele pr. ark
SharedStringTableXmlMapperLæser/skriver xl/sharedStrings.xml
StylesheetXmlMapperLæser/skriver xl/styles.xml
XmlParsingExceptionUdkastet til en XML-parsefejl, der ikke kan genoprettes.
 Dansk