XML İşleme ile Çalışma
XML İşleme ile Çalışma
XLSX dosyaları, verilerini bir OPC paketinin içinde XML parçalarında depolamaktadır. Aspose.Cells FOSS for .NET, XML parsing ve serialization tabakasını dört klasörde sergilemektedir: WorkbookXmlMapper, WorksheetXmlMapper, SharedStringTableXmlMapper,ve StylesheetXmlMapper.Her bir dosya her iki tarafı da kullanır. Read ve Write Bu, iç altyapı APIs’lerdir - çoğu uygulama kodu tamamen aracılığıyla çalışır. Workbook ve Worksheet nesneler için.
XML Mapper Sınıfları
Her XML klasörü XLSX yapısının bir XML parçası için sorumludur:
| Mapper | XML Bölümü | Responsibility |
|---|---|---|
WorkbookXmlMapper | xl/workbook.xml | Workbook düzey metadata, sayfa referansları, tanımlanmış isimler |
WorksheetXmlMapper | xl/worksheets/sheetN.xml | Hücre verileri, formüller, hiper bağlantılar, koşullu biçimler, veri doğrulama |
SharedStringTableXmlMapper | xl/sharedStrings.xml | De-duplicated string değerleri için paylaşılan çubuk tablosu |
StylesheetXmlMapper | xl/styles.xml | Hücre tarzları, yazı tipleri, doldurma, sınırlar, sayı biçimleri |
Her bir dosya iki yöntem sunar - Read ve Write - Kütüphane yükünden alınan ve boru hattı tasarrufu.
XmlParsingÖzümleri
XmlParsingException Bir klasör düzeltilemeyen yanlış bir XML ile karşılaştığında atılır. WorkbookLoadException XML parsing sırasında başarısızlık meydana geldiğinde hata hiyerarşisinde belirli.
using Aspose.Cells_FOSS;
var opts = new LoadOptions
{
TryRepairPackage = true,
TryRepairXml = true,
};
try
{
var wb = new Workbook("malformed.xlsx", opts);
Console.WriteLine("Loaded: " + wb.Worksheets.Count + " sheet(s)");
}
catch (XmlParsingException ex)
{
Console.WriteLine("XML parse error: " + ex.Message);
}
catch (WorkbookLoadException ex)
{
Console.WriteLine("Load error: " + ex.Message);
}İpuçları ve En İyi Uygulamalar
- Setleri
TryRepairXml = trueiçindeLoadOptionsMektubun hatalar toleranslı parsel yolu sağlar. - Catch
XmlParsingExceptionAyrıca, ayrıcaWorkbookLoadExceptionXML’in bozulmuş olabileceği dış sistemlerden gelen dosyaları işlerken. - XML klasörleri uygulama kodu ile istantifleştirilmemektedir; otomatik olarak çağrılırlar.
Workbookİnşaat veSave(). - Diagnostik için ham XML içeriğini incelemek istiyorsanız, XLSX’i bir ZIP olarak çıkarın ve ilgili XML parçalarını doğrudan inceleyin.
ortak sorunlar
| Issue | Cause | Fix |
|---|---|---|
XmlParsingException yük üzerinde | XLSX parçalarından birinde XML bozukluğu | Setleri TryRepairXml = true içinde LoadOptions |
| Yürüyüş sonrası kaybolan tarzlar | StylesheetXmlMapper Kendi tarzı bir kayıt yapamazsınız. | Check LoadDiagnostics.Issues Stil ile ilgili onarım girişleri için |
| Paylaşımlı çubuklar yüklü dosyalarda eksik | SharedStringTableXmlMapper Yolsuz bir ortak çubuk tablosu ile karşılaştık | Enable TryRepairXml;• Doğrulanmış bir dosya var. xl/sharedStrings.xml |
FAQ
Kendi XML dosyalarımı uygulayabilir miyim?
XML klasörleri, iç altyapı ile mühürlenir. özelleştirilmiş klasörü mevcut API yüzeyinde desteklenmez.
Neden ayrı bir SharedStringTableXmlMapper?
Çerçeve değerleri bir ortak çerçeveli tabloya ayırır (xl/sharedStrings.xml) çalışma kitabı boyunca tekrarlanan çubukları çoğaltmak için. haritalar bu tabloyu bağımsız olarak okuyar ve yazar.
Does TryRepairXml = true XML sorunlarını çözmek için?
TryRepairXml Çözülen sorunları ele alır, örneğin kapalı olmayan unsurlar, eksik isim alanları ve çürük değerler. Yapısal olarak geçerli ama semantik olarak uyumsuz XML (örne de kırık formül referansları) hala neden olabilir XmlParsingException.
API Referans Özetleri
| Class | Description |
|---|---|
WorkbookXmlMapper | Okumak / Yazmak xl/workbook.xml |
WorksheetXmlMapper | Yazılar / Yazılar XML parçaları başına |
SharedStringTableXmlMapper | Okumak / Yazmak xl/sharedStrings.xml |
StylesheetXmlMapper | Okumak / Yazmak xl/styles.xml |
XmlParsingException | Yeterli olmayan XML parse eksiklikleri üzerine çarpışma |