Travailler avec le traitement XML

Travailler avec le traitement XML

Travailler avec le traitement XML

Les fichiers XLSX stockent leurs données en parties XML dans un paquet OPC. Aspose.Cells FOSS pour .NET expose la couche de partage et de sérialisation XML à travers quatre classes de cartes: WorkbookXmlMapper, WorksheetXmlMapper, SharedStringTableXmlMapper,et StylesheetXmlMapper.Chaque carte met en œuvre les deux Read et Write les opérations pour la partie XML correspondante. Ce sont des API d’infrastructure interne - la plupart du code d’application fonctionne entièrement à travers le Workbook et Worksheet objets .


Les classes XML Mapper

Chaque dossier XML est responsable d’une partie XML de la structure XLSX :

MAPERXML partieResponsabilité
WorkbookXmlMapperxl/workbook.xmlMéta-détails de niveau du livre de travail, références à feuilles, noms définis
WorksheetXmlMapperxl/worksheets/sheetN.xmlDonnées cellulaires, formules, hyperliens, format conditionnel, validation des données
SharedStringTableXmlMapperxl/sharedStrings.xmlTableau de fil partagé pour les valeurs de la fil dupliquées
StylesheetXmlMapperxl/styles.xmlStyles cellulaires, fonts, remplissages, limites, formats de numéro

Chaque tableau présente deux méthodes - Read et Write - invocé par la charge de la bibliothèque et sauvegardant les pipelines respectivement.


XmlParsingException

XmlParsingException est jeté lorsque un dossier rencontre XML malformé qui ne peut pas être réparé. WorkbookLoadException dans la hiérarchie d’erreur lorsque le défaut se produit pendant le partage XML spécifiquement.

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

Conseils et meilleures pratiques

  • Sélection TryRepairXml = true dans LoadOptions Pour permettre la voie de partage tolérante des erreurs du dossier.
  • Catch XmlParsingException En plus de WorkbookLoadException Lorsque vous traitez des fichiers provenant de systèmes externes qui peuvent produire un XML malformé.
  • Les classes de dossier XML ne sont pas destinées à être instantanées par code d’application - elles sont invocées automatiquement pendant la période de Workbook Construction et Save().
  • Si vous avez besoin d’inspecter le contenu XML pour les diagnostics, extraire la XLSX en tant que ZIP et examiner directement les parties XML pertinentes.

Les problèmes communs

ProblèmeCauseFixé
XmlParsingException sur le chargementXML malformé dans l’une des parties XLSXSélection TryRepairXml = true dans LoadOptions
Des styles manquants après un tour de routeStylesheetXmlMapper ne pouvait pas faire un record de styleVérifier LoadDiagnostics.Issues Pour les entrées de réparation liées à la style
Les filets partagés manquants dans le fichier chargéSharedStringTableXmlMapper Une table de fil partagée corrompuepermet TryRepairXml;• Vérification du fichier original a une validité xl/sharedStrings.xml

FAQ

Puis-je mettre en œuvre mon propre dossier XML ?

Les classes de cartes XML sont des infrastructures internes séchées. les cartettes personnalisées ne sont pas supportées dans la surface API actuelle.

Pourquoi il y a une séparation SharedStringTableXmlMapper?

La spécification OOXML séparera les valeurs de la barre dans une table de barre partagée (xl/sharedStrings.xml• de duplicer les lignes répétées sur le livre de travail. Le dossier traite la lecture et l’écriture de cette table indépendamment.

Le fait TryRepairXml = true Résoudre tous les problèmes XML ?

TryRepairXml traite des problèmes récupérables tels que les éléments non fermés, les espaces de nom manquants et les valeurs troncées. XML structurellement valide mais semantiquement inconsistant (par exemple, références de formule cassées) peut toujours causer XmlParsingException.


Le résumé de référence API

ClassesDescription
WorkbookXmlMapperLire / Écrire xl/workbook.xml
WorksheetXmlMapperLire/écrire par fichier des parties XML
SharedStringTableXmlMapperLire / Écrire xl/sharedStrings.xml
StylesheetXmlMapperLire / Écrire xl/styles.xml
XmlParsingExceptionLes failles de parse XML inoubliables

Voir aussi

 Français