Lucrarea cu procesare XML

Lucrarea cu procesare XML

Lucrarea cu procesare XML

Aspose.Cells FOSS for C++ uses a lightweight internal XML layer to read and write the Open XML parts that make up an XLSX file. The XmlDocument, XmlElement, și XmlAttribute Clasele formează nucleul acestui strat.


Încărcarea unui document XML

Utilizare: XmlDocument::Load pentru a analiza un șir XML sau un fișier în arborele documentelor din memorie:

#include "aspose/cells_foss/XmlDocument.h"

using namespace Aspose::Cells_FOSS;

// Load from string content
XmlDocument doc;
doc.Load("<root><item key=\"a\">value</item></root>");

Construirea și salvarea XML-ului

Utilizare: XmlDocument::Build pentru a construi un document XML în mod programatic; și XmlDocument::SaveToUtf8 pentru a serializa înapoi la un UTF-8 șir:

XmlDocument doc;
// Build the document structure
auto xml = doc.SaveToUtf8();

Trecerea prin elemente

XmlElement oferă acces ușor pe bază de mâner la valorile elementelor, fiii și atributele. Elementele construite în mod implicit se întorc IsNull() == true, care poate fi folosit ca o verificare sigură a valorii:

XmlElement root = doc.GetRootElement();
if (!root.IsNull()) {
    // Traverse children via GetAttributes
    auto attrs = root.GetAttributes();
}

Lucrarea cu atributele

XmlAttribute oferă acces la perechile de nume și valori ale atributului pe un element. Utilizarea XmlAttribute::MakeAttribute(name, value) pentru a crea noi atribute:

XmlAttribute attr = XmlAttribute::MakeAttribute("key", "value");
bool isNull = attr.IsNull();

Maperele XML interne

Biblioteca utilizează clase mapere dedicate pentru a converti obiecte de model în fișe de calcul din memorie la reprezentările XML ale acestora. Acestea sunt interne stratului de serializare:

Clasa MapperResponsabilitate
WorkbookXmlMapperCitește și scrie partea relație din cartea de lucru
WorksheetXmlMapperCiteste si scrie partile XML ale fișei de lucru individuale
StylesheetXmlMapperCiteşte şi scrie partea stilurilor.
SharedStringTableXmlMapperCitește și scrie tabelul de șiruri partajate

Fiecare cartograf expune Read și de: Write Acestea sunt numite intern de către XlsxWorkbookSerializer și nu sunt destinate utilizării directe în codul aplicației.


Gestionarea erorilor

Erori de analizare XML aruncarea XmlParsingException.Obține această excepție atunci când încărcați XML neîncredut sau formatat greșit:

try {
    doc.Load(xmlContent);
} catch (const XmlParsingException& ex) {
    // Handle parse error
}

Sfaturi şi cele mai bune practici

  • Verifică. XmlElement::IsNull() înainte de a accesa datele elementului elementele la căile lipsă returnează o manipulare nulă.
  • Utilizare: XmlDocument::SaveToUtf8() pentru a obține o șiră serializată pentru depurarea sau înregistrarea stării XML intermediare.
  • Nu instantiate clasele mapper (WorkbookXmlMapper, WorksheetXmlMapper, etc.) direct în codul de cerere utilizare Workbook::Save și de: Workbook(filePath) În schimb.
  • XmlParsingException este aruncat pe XML malformat; întotdeauna înfășurați încărcăturile externe XML într-un bloc de încercare/captare.

Probleme comune

Numărul de dateCauzaFixare
IsNull() returnează trueElement ne gasit la calea asteptataVerificați structura XML înainte de traversare
XmlParsingException în încărcareXML formatat în mod defectuos sau fără UTF-8Validarea XML-ului de intrare înainte de trecere la Load
ieșirea mapper diferă de intrareMutația modelului înainte de salvareAsigură-te că toate modificările modelelor sunt făcute înainte de a solicita Save

Rezultatele de la data aplicării.

Clasa/MetodaDescriere:
XmlDocument::Load(content)Analiza unui șir XML
XmlDocument::Build()Construiți un document programatic
XmlDocument::SaveToUtf8()Serializarea documentului într-un șir UTF-8
XmlElement::IsNull()Verificați dacă elementul de manipulare este valabil
XmlElement::GetValue()Obține conținutul de text al elementului
XmlElement::GetAttributes()Obține colectia de atribute
XmlAttribute::IsNull()Verificați dacă atributul este valid.
XmlAttribute::MakeAttribute(name, value)Crearea unui nou element de identificare a atributului
XmlParsingExceptionAruncat pe intrarea XML defectuoasă
WorksheetXmlMapperFolla de lucru internă XML citit/scris
WorkbookXmlMapperCărți de lucru interne XML citit/scris

Vezi și:

 Română