XML-feldolgozással való munka
XML-feldolgozással való munka
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, és XmlAttribute Az osztályok képezik ennek a rétegnek a magját.
XML dokumentum betöltése
Használat XmlDocument::Load egy XML-hárc vagy fájl elemzése a memóriában lévő dokumentumfaban:
#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>");XML létrehozása és mentése
Használat XmlDocument::Build az XML-dokumentum programozással történő felépítése, és XmlDocument::SaveToUtf8 hogy visszaállítsuk a UTF-8 sztranghoz:
XmlDocument doc;
// Build the document structure
auto xml = doc.SaveToUtf8();A végigjáró elemek
XmlElement A program könnyű kézzel hozzáférhet az elem értékekhez, a gyermekeknek és az atribútumoknak. Az alapértelmezett elemek visszatérnek. IsNull() == true, amely biztonságos null-ellenőrzésként használható:
XmlElement root = doc.GetRootElement();
if (!root.IsNull()) {
// Traverse children via GetAttributes
auto attrs = root.GetAttributes();
}Attribútumokkal való munka
XmlAttribute hozzáférést biztosít egy elem attribútumneve és értékpárjaihoz. Use XmlAttribute::MakeAttribute(name, value) új attribútumok létrehozása:
XmlAttribute attr = XmlAttribute::MakeAttribute("key", "value");
bool isNull = attr.IsNull();Belső XML-térképező
A könyvtár a saját mapper osztályokat használja az emlék-táblás modell objektumok XML reprezentációkba és azokból történő átalakítására. Ezek a sorozatosítási rétegben belül vannak:
| Mapper osztály | Felelősség |
|---|---|
WorkbookXmlMapper | Olvassa és írja a munkafüzet kapcsolati részét |
WorksheetXmlMapper | Olvassa és írja az egyes munkalap XML-részeit |
StylesheetXmlMapper | Olvassa és írja a stílusokat. |
SharedStringTableXmlMapper | Olvassa és írja a megosztott szalagok táblázatát |
Minden térképező feltárja Read és a Write Ezeket belsőleg úgy hívják, hogy XlsxWorkbookSerializer és nem a kérelmek kódjában való közvetlen felhasználásra szánt.
Hibakezelés
XML-elemzés hibái . XmlParsingException.Ez a kivétel az nem megbízható vagy hibás XML betöltésekor:
try {
doc.Load(xmlContent);
} catch (const XmlParsingException& ex) {
// Handle parse error
}Tippek és legjobb gyakorlatok
- A csekk.
XmlElement::IsNull()az elemadatokhoz való hozzáférés előtt a hiányzó útvonalak elemeinek nullás foglalása. - Használat
XmlDocument::SaveToUtf8()hogy egy sorozatos szalagot kapjon a középső XML állapot hibaelhárításához vagy naplózásához. - Ne instanciáljon mapper osztályokat (
WorkbookXmlMapper,WorksheetXmlMapper, stb.) közvetlenül a kérelmek kódjában használatban.Workbook::Saveés a következők:Workbook(filePath)- De nem. XmlParsingExceptiona rosszul formált XML-re kerül; mindig csomagolja be a külső XML terheléseket egy try/catch blokkba.
Általános kérdések
| A kérdés | Okok | Megjavítani. |
|---|---|---|
IsNull() true-t ad vissza | Nem talált elem a várható útvonalon | Ellenőrizni az XML-szerkezetet a átjárás előtt |
XmlParsingException terhelve | Nem megfelelő XML vagy UTF-8-nem megfelelő | A bevitel XML-eit hitelesítse a továbbítás előtt Load |
| A mapper kimenete eltér a bemenettől. | Művészeti mutáció mentés előtt | Biztosítani, hogy minden modellváltozás megtörtént a hívás előtt. Save |
API-referencia összefoglaló
| Az osztály/módszer | Leírás |
|---|---|
XmlDocument::Load(content) | XML-tárgy elemzés |
XmlDocument::Build() | A dokumentum programozásra való alkalmazása |
XmlDocument::SaveToUtf8() | A dokumentum UTF-8-es szalagra történő szériálása |
XmlElement::IsNull() | Ellenőrizze, hogy a elem kezelője érvényes-e. |
XmlElement::GetValue() | Szerezd meg az elem szövegtartalmát! |
XmlElement::GetAttributes() | Szerezd meg az atribútumok gyűjteményét. |
XmlAttribute::IsNull() | Ellenőrizze, hogy a tulajdonság kezelője érvényes-e. |
XmlAttribute::MakeAttribute(name, value) | Új attribútumkezelő létrehozása |
XmlParsingException | Eltűnt a hibás XML-bevitelre |
WorksheetXmlMapper | A belső XML olvasás/írás munkalap |
WorkbookXmlMapper | Belső munkafüzet XML olvasás/írás |