Arbeta med XML-behandling

Arbeta med XML-behandling

Arbeta med XML-behandling

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,och XmlAttribute Klasser bildar kärnan i detta lager.


Ladda upp ett XML-dokument

Användning XmlDocument::Load för att parsa en XML-sträng eller fil i minnesdokumentet:

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

Bygg och spara XML

Användning XmlDocument::Build att bygga ett XML-dokument programmatiskt, och XmlDocument::SaveToUtf8 för att serialisera det tillbaka till en UTF-8 sträng:

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

Travelerande element

XmlElement ger lätt handled baserad tillgång till elementvärden, barn och attribut. standardkonstruerade element retur IsNull() == true, som kan användas som en säker noll-check:

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

Att arbeta med attribut

XmlAttribute ger tillgång till att tilldela namn och värdepar på ett element. XmlAttribute::MakeAttribute(name, value) Att skapa nya attribut:

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

Internt XML-mappare

Biblioteket använder dedikerade mappar för att konvertera in-minnesmönsterobjekt till och från deras XML-representationer. Dessa är interna i serialiseringsskiktet:

Mapper klassResponsibility
WorkbookXmlMapperLäs och skriver arbetsbokens relation del
WorksheetXmlMapperLäser och skriver enskilda XML-delar i arbetsbladen
StylesheetXmlMapperLäser och skriver stycken del
SharedStringTableXmlMapperLäs och skriver den delade strängtabellen

Varje kartong visar Read och Write Dessa kallas internalt av XlsxWorkbookSerializer och är inte avsedda för direkt användning i ansökningskod.


Felhantering

XML parsing fel kastar XmlParsingException.Fånga detta undantag när du laddar upp osäker eller felformad XML:

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

Tips och bästa praxis

  • Check XmlElement::IsNull() innan du får tillgång till elementdata – objekt på saknade vägar returnerar en nollhandbok.
  • Användning XmlDocument::SaveToUtf8() för att få en serialiserad sträng för debugging eller loggning mellan XML-status.
  • Inte att ta bort en kortare (WorkbookXmlMapper, WorksheetXmlMapper, etc.) direkt i ansökningskod - användning Workbook::Save och Workbook(filePath) I stället .
  • XmlParsingException kastas på felformad XML; alltid hänga externa XML-laddningar i en try/catch block.

Vanliga frågor

IssueCauseFixar
IsNull() återvänder sannElement som inte hittades på den förväntade vägenKontrollera XML-strukturen innan du passerar
XmlParsingException på lastFörfalskad eller icke-UTF-8 XMLValiderar XML-input innan du går till Load
Mapper utgången skiljer sig från inputModellmutation före sparaSe till att alla modeller ändras innan du ringer Save

API Referens sammanfattning

Klass / MetodBeskrivning
XmlDocument::Load(content)Skapa en XML string
XmlDocument::Build()Utformar ett dokument programmatiskt
XmlDocument::SaveToUtf8()Serierar dokumentet till en UTF-8 sträng
XmlElement::IsNull()Kontrollera om elementet är giltigt
XmlElement::GetValue()Få texten innehållet i elementet
XmlElement::GetAttributes()Få attributsamlingen
XmlAttribute::IsNull()Kontrollera om attributhantering är giltig
XmlAttribute::MakeAttribute(name, value)Skapa en ny attribut handledning
XmlParsingExceptionFörsvunnen på skadlig XML-input
WorksheetXmlMapperInternt arbetsblad XML läs/skriv
WorkbookXmlMapperInternal Workbook XML läs/skriv

Se även

 Svenska