Travailler avec le traitement XML

Travailler avec le traitement XML

Travailler avec le traitement 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,et XmlAttribute Les classes forment le cœur de cette couche.


Télécharger un document XML

Utiliser XmlDocument::Load pour parser une barre XML ou un fichier dans l’arbre de document en mémoire :

#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>");

Création et économie de XML

Utiliser XmlDocument::Build - créer un document XML de manière programmée, et XmlDocument::SaveToUtf8 Pour le faire, il faut revenir sur un fil UTF-8 :

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

Les éléments transitoires

XmlElement fournit un accès basé sur le manœuvre légère aux valeurs d’élément, enfants et attributs. retour des éléments de conception par défaut IsNull() == true,Ce qui peut être utilisé comme un contrôle null sûr :

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

Travailler avec des attributs

XmlAttribute fournit accès à l’attribution de noms et de paires de valeurs sur un élément. XmlAttribute::MakeAttribute(name, value) Pour créer de nouveaux attributs :

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

Mapeurs XML internes

La bibliothèque utilise des classes de cartes dédiées pour convertir les objets de modèle dans la feuille de mémoire à et de leurs représentations XML. Ce sont intérieurs à la couche de série:

Classement MapperResponsabilité
WorkbookXmlMapperLire et écrire la partie relation du livre de travail
WorksheetXmlMapperLire et écrire des parties XML individuelles de feuille de travail
StylesheetXmlMapperLire et écrire la partie des styles
SharedStringTableXmlMapperLire et écrire la table des lignes partagées

Chaque carte expose Read et Write Les méthodes sont appelés internes par XlsxWorkbookSerializer ne sont pas destinées à l’utilisation directe dans le code d’application.


Gestion des erreurs

XML partage erreurs jeté XmlParsingException.Chaque cette exception lors de la charge d’un XML non fiable ou malformé:

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

Conseils et meilleures pratiques

  • Vérifier XmlElement::IsNull() avant l’accès aux données d’élément – les éléments sur des chemins manquants retournent un manuel null.
  • Utiliser XmlDocument::SaveToUtf8() Pour obtenir une ligne sérialisée pour débouler ou enregistrer un état XML intermédiaire.
  • Ne pas faire de l’écriture (WorkbookXmlMapper, WorksheetXmlMapper, etc.) directement dans le code d’application — utilisation Workbook::Save et Workbook(filePath) Au lieu de cela.
  • XmlParsingException est jeté sur XML malformé ; toujours enveloppez les charges XML externes dans un bloc de tentative/catch.

Les problèmes communs

ProblèmeCauseFixé
IsNull() Retourner la véritéL’élément n’a pas été trouvé sur la voie attendueVérifier la structure XML avant de traverser
XmlParsingException sur le chargementXML malformé ou non-UTF-8Valider l’entrée XML avant de passer à Load
Le chiffre d’affaires diffère de l’entréeModèle de mutation avant sauvetageAssurez-vous que toutes les modifications de modèle sont effectuées avant d’appeler Save

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

Classes / MéthodesDescription
XmlDocument::Load(content)Parse un XML string
XmlDocument::Build()Créer un document programmable
XmlDocument::SaveToUtf8()Sérialisez le document à une ligne UTF-8
XmlElement::IsNull()Vérifier si le manuel d’élément est valide
XmlElement::GetValue()Obtenez le contenu du texte de l’élément
XmlElement::GetAttributes()Rendez-vous à la collection d’attributs
XmlAttribute::IsNull()Vérifier si l’attribut est valide
XmlAttribute::MakeAttribute(name, value)Créer un nouveau manuel d’attributs
XmlParsingExceptionRésultat sur les entrées XML malformées
WorksheetXmlMapperLe tableau de travail XML read/write
WorkbookXmlMapperLivre de travail XML lecture/écriture

Voir aussi

 Français