Εργασία με την επεξεργασία XML

Εργασία με την επεξεργασία XML

Εργασία με την επεξεργασία XML

Τα αρχεία XLSX αποθηκεύουν τα δεδομένα τους σε τμήματα XML εντός ενός πακέτου OPC. Aspose.Cells FOSS για .NET εκθέτει το στρώμα διαχωρισμού και σειριώσεως XML μέσα από τέσσερις κατηγορίες χαρτογράφων: WorkbookXmlMapper, WorksheetXmlMapper, SharedStringTableXmlMapper,και StylesheetXmlMapper.Κάθε χαρτί εφαρμόζει και τα δύο. Read και Write Οι λειτουργίες για το αντίστοιχο τμήμα XML. Αυτές είναι οι εσωτερικές υποδομές APIs — ο κωδικός εφαρμογής λειτουργεί εντελώς μέσω της Workbook και Worksheet αντικειμένων .


XML Χάρτης Κλάσης

Κάθε φάκελος XML είναι υπεύθυνος για ένα μέρος του XLSX:

ΧάρτηςXML ΜέροςΥπεύθυνη
WorkbookXmlMapperxl/workbook.xmlΜεταδεδομένα επιπέδου εργαστηρίου, αναφορές φύλλων, ορισμένες ονομασίες
WorksheetXmlMapperxl/worksheets/sheetN.xmlΔεδομένα κελιών, φόρμουλα, υπερσυνδέσεις, τυποποιημένες μορφές, επικύρωση δεδομένων
SharedStringTableXmlMapperxl/sharedStrings.xmlΚοινή πίνακα σιδήρου για τις διπλές τιμές σίδηρου
StylesheetXmlMapperxl/styles.xmlΣτυλ κελιών, γραμματοσειρά, πληρώματα, οριακές διαστάσεις, μορφές αριθμού

Κάθε χάρτης παρουσιάζει δύο μεθόδους - Read και Write — αναφέρονται από το φορτίο της βιβλιοθήκης και αποθηκεύουν τα σωλήνα αντίστοιχα.


XmlParsingException

XmlParsingException ρίχνει όταν ένα φάκελο συναντά κακότυπο XML που δεν μπορεί να διορθωθεί. WorkbookLoadException στην ιεραρχία σφάλματος όταν η αποτυχία συμβαίνει κατά τη διάρκεια του 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);
}

Συμβουλές και βέλτιστες πρακτικές

  • ΣΕΤΙΔΑ TryRepairXml = true Σε LoadOptions να επιτρέψει την ανοχή του χάρτη σε λάθη.
  • ΚΕΦΑΛΑΙΟ XmlParsingException Εκτός από το WorkbookLoadException όταν χειρίζονται αρχεία από εξωτερικά συστήματα που μπορεί να παράγουν κακότυπο XML.
  • Οι τάξεις χαρτογράφου XML δεν προορίζονται να εγκατασταθούν από τον κωδικό εφαρμογής - καλούνται αυτόματα κατά τη διάρκεια της περιόδου. Workbook Κατασκευή και Save().
  • Εάν χρειάζεται να ελέγξετε το βασικό περιεχόμενο XML για τη διάγνωση, αφαιρέστε το XLSX ως ZIP και εξετάστε τα σχετικά τμήματα του XML απευθείας.

κοινά ζητήματα

ΘέμαΑιτίαΦΙΛΕΞΗ
XmlParsingException ΣΤΟ ΛΟΙΓΚακότυπο XML σε ένα από τα τμήματα XLSXΣΕΤΙΔΑ TryRepairXml = true Σε LoadOptions
Απεβίωτοι στυλ μετά το γύροStylesheetXmlMapper Δεν μπορεί να σπάσει ένα κανονικό αρχείοΕλέγξτε LoadDiagnostics.Issues Για τις εισαγωγές επισκευής σχετικές με το στυλ
Μοιρασμένες γραμμές που λείπουν σε φορτισμένο αρχείοSharedStringTableXmlMapper Βρέθηκε ένα διαφθορά κοινόχρηστο τραπέζιΕνεργοποιεί TryRepairXml;• Ελέγξτε το αρχείο έχει έγκυρο xl/sharedStrings.xml

FAQ

Μπορώ να εφαρμόσω το δικό μου χαρτί XML;?

Οι τάξεις χαρτογράφου XML είναι σφραγισμένες εσωτερικές υποδομές. Προσαρμοσμένα χάρτες δεν υποστηρίζονται στην τρέχουσα επιφάνεια API.

Γιατί υπάρχει μια ξεχωριστή SharedStringTableXmlMapper?

Η προδιαγραφή OOXML χωρίζει τις τιμές γραμμής σε ένα κοινό πίνακα γραμμάτων (xl/sharedStrings.xml2) για να αποδιπλασιάσει επαναλαμβανόμενες γραμμές σε όλο το βιβλίο εργασίας. Το φάκελο χειρίζεται την ανάγνωση και τη συγγραφή αυτού του πίνακα ανεξάρτητα.

Η ΚΕ TryRepairXml = true Εξέτασε όλα τα προβλήματα XML;?

TryRepairXml αντιμετωπίζει ανακτήσιμα προβλήματα όπως ανοιχτά στοιχεία, έλλειψη ονοματομέτρων και κρυμμένες τιμές. Διαρθρωτικά ισχύει αλλά σωματικά ασυμβίβαστο XML (για παράδειγμα, σπάσει παραπομπές φόρμουλα) μπορεί ακόμα να προκαλέσει XmlParsingException.


Συνοπτική αναφορά API

ΚλάσηΠεριγραφή
WorkbookXmlMapperΔιαβάστε / Γράψτε xl/workbook.xml
WorksheetXmlMapperΔιαβάστε/Διαβάζετε ανά φύλλο τμήματα XML
SharedStringTableXmlMapperΔιαβάστε / Γράψτε xl/sharedStrings.xml
StylesheetXmlMapperΔιαβάστε / Γράψτε xl/styles.xml
XmlParsingExceptionΑπεργία για ανακτήσιμες αποτυχίες XML
 Ελληνικά