XML İşleme ile Çalışma
XML İşleme ile Çalışma
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,ve XmlAttribute Bu sınıflar bu katmanın çekirdeğini oluşturur.
XML Belgesini Yükleme
Kullanım XmlDocument::Load Bir XML çubuğunu veya dosyayı in-memory belge ağacına ayırmak için:
#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 oluşturma ve tasarruf
Kullanım XmlDocument::Build XML belgesini programlı bir şekilde oluşturmak ve XmlDocument::SaveToUtf8 Bunu UTF-8 çubuğuna geri dönüştürmek için:
XmlDocument doc;
// Build the document structure
auto xml = doc.SaveToUtf8();Yürüyen Elemanlar
XmlElement hafif ağırlık el ele element değerlerine, çocuklara ve özelliklere erişim sağlar. varsayılan olarak yapılandırılmış elementler geri dönüşü IsNull() == true,Güvenli bir sıfır kontrolü olarak kullanılabilir:
XmlElement root = doc.GetRootElement();
if (!root.IsNull()) {
// Traverse children via GetAttributes
auto attrs = root.GetAttributes();
}Attributs ile çalışmak
XmlAttribute Bir öğede isim ve değer çiftleri atıfta bulunmak için erişim sağlar. XmlAttribute::MakeAttribute(name, value) Yeni özellikler oluşturmak için:
XmlAttribute attr = XmlAttribute::MakeAttribute("key", "value");
bool isNull = attr.IsNull();XML Mappers İç Makineleri
Kütüphane, hafıza spreadsheet model nesneleri XML temsillerine ve bunlardan dönüştürmek için özel klasörler kullanır. Bunlar serializasyon tabakasına içerir:
| Mapper Sınıfı | Responsibility |
|---|---|
WorkbookXmlMapper | Yazı ve çalışma kitabı ilişkisi bölümünü okuyor |
WorksheetXmlMapper | XML bölümlerini okuyor ve yazıyor |
StylesheetXmlMapper | Yazıyor ve yazıyor Stiller bölümleri |
SharedStringTableXmlMapper | Paylaşımlı çizgi tablosunu okuyor ve yazıyor |
Her haritayı gösterir Read ve Write Bu yöntemler içeride olarak adlandırılır. XlsxWorkbookSerializer ve doğrudan kullanım için kullanılmamaktadır. uygulama kodunda.
Hata İşleme
XML Parsing Hataları Atmak XmlParsingException.Bu istisna, güvenilmemiş veya yanlış biçimlendirilmiş XML yüklediğinizde yakalanır:
try {
doc.Load(xmlContent);
} catch (const XmlParsingException& ex) {
// Handle parse error
}İpuçları ve En İyi Uygulamalar
- Check
XmlElement::IsNull()Element verilerine erişmeden önce - eksik yollarda elementler sıfır elemanı iade eder. - Kullanım
XmlDocument::SaveToUtf8()Bir serializasyon çubuğu elde etmek için, bir XML ortalama durumu debugging veya logging. - (Kayıtlı Kayıtlar için tıklayınız)
WorkbookXmlMapper,WorksheetXmlMapper, vb.) doğrudan uygulama kodunda - kullanımWorkbook::SaveveWorkbook(filePath)Bunun yerine. XmlParsingExceptionYanlış biçimlendirilmiş XML’e atılır; her zaman dış XML yüklerini bir deneme/kapatma blokuna dökün.
ortak sorunlar
| Issue | Cause | Fix |
|---|---|---|
IsNull() Gerçek geri dönüyor | beklenen yolda bulunamadı | XML yapısını geçmeden önce kontrol edin. |
XmlParsingException yük üzerinde | Yanlış veya yanlış olan UTP-8 XML | XML girişini geçmeden önce doğrulayın. Load |
| Karakter çıkışı girişten farklıdır. | Modeli değiştirmeden önce kurtarma | Tüm model değişiklikleri çağrı yapmadan önce yapılır. Save |
API Referans Özetleri
| Sınıf / Yöntem | Description |
|---|---|
XmlDocument::Load(content) | Bir XML string oluşturun |
XmlDocument::Build() | Programlı bir şekilde bir belge oluşturun. |
XmlDocument::SaveToUtf8() | Belgeyi UTF-8 çubuğuna serialize edin |
XmlElement::IsNull() | Eleman işleme geçerli olup olmadığını kontrol edin. |
XmlElement::GetValue() | Element içeriğini elde edin |
XmlElement::GetAttributes() | Atribut Koleksiyonu Alın |
XmlAttribute::IsNull() | -Attribute manevrasının geçerli olup olmadığını kontrol edin. |
XmlAttribute::MakeAttribute(name, value) | Yeni bir atribut oluşturun |
XmlParsingException | XML girişleri yanlış biçimde |
WorksheetXmlMapper | XML Okuma / Yazma Çalışma Sayfası |
WorkbookXmlMapper | XML Okuma / Yazma Çalışma Kitabı |