Trabajar con el procesamiento XML

Trabajar con el procesamiento XML

Trabajar con el procesamiento XML

Los archivos XLSX almacenan sus datos en partes XML dentro de un paquete OPC. Aspose.Cells FOSS para .NET exponer la capa de parsón y serializacin XML a través de cuatro clases de mapas: WorkbookXmlMapper, WorksheetXmlMapper, SharedStringTableXmlMapper,y, StylesheetXmlMapper.Cada cartel realiza ambos Read y Write operaciones para su parte XML correspondiente. Estos son API de infraestructura interna — la mayoría del código de aplicación funciona en su totalidad a través de la Workbook y Worksheet Objetos →.


Clasificación de XML Mapper

Cada mapa XML es responsable de una parte XML de la estructura XLSX:

MapasParte XMLResponsabilidad
WorkbookXmlMapperxl/workbook.xmlMetadatos de nivel del libro de trabajo, referencias de hoja, nombres definidos
WorksheetXmlMapperxl/worksheets/sheetN.xmlDatos de células, fórmulas y hiperligazones, formatos condicionales, validación de datos
SharedStringTableXmlMapperxl/sharedStrings.xmlTabla de rango compartida para valores de la red duplicada
StylesheetXmlMapperxl/styles.xmlEstilos de células, fuentes, rellenos, límites, formatos de número

Cada mapa expresa dos métodos - Read y Write — invocado por la carga de la biblioteca y guardando los tubos respectivamente.


XmlParsingException

XmlParsingException se lanza cuando un mapa encuentre XML malformado que no puede ser reparado. WorkbookLoadException en la hierarquía de error cuando el fracaso ocurre durante XML parsing específicamente.

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);
}

Consejos y mejores prácticas

  • Sitio TryRepairXml = true En el LoadOptions para permitir el camino de parchón tolerante a los errores del mapa.
  • Catch XmlParsingException Además de que WorkbookLoadException Cuando se tratan de archivos de sistemas externos que puedan producir XML malformado.
  • Las clases de mapas XML no están destinadas a ser instantiadas por código de aplicación — se invocan automáticamente durante el curso. Workbook La construcción y Save().
  • Si necesita inspeccionar el contenido XML crudo para la diagnóstica, extrae XLSX como ZIP y examina directamente las partes XML relevantes.

Problemas comunes

ProblemasCausasFixado
XmlParsingException En cargaXML malformado en una de las partes XLSXSitio TryRepairXml = true En el LoadOptions
Los estilos perdidos después de un viaje redondoStylesheetXmlMapper No podía romper un registro de estilo personalizadoVerificar LoadDiagnostics.Issues para las entradas de reparación relacionadas con el estilo
Comparte líneas que faltan en archivos cargadosSharedStringTableXmlMapper Encontrado una corrompida mesa de cordas compartidaPermite TryRepairXml;• Verificar el archivo original tiene una validez. xl/sharedStrings.xml

FAQ

¿Puedo implementar mi propio mapa XML?

Las clases de mapas XML son infraestructura interna segellada. los mapas personalizados no se soportan en la superficie API actual.

¿Por qué hay una separación? SharedStringTableXmlMapper?

La especificación OOXML separa los valores de la línea en una tabla de las líneas compartidas (xl/sharedStrings.xmlPara desduplicar las líneas repetidas a través del libro de trabajo.El mapa maneja la lectura y la escritura de esta tabla independientemente.

¿Qué hace TryRepairXml = true ¿Todos los problemas de XML?

TryRepairXml trata problemas recuperables como elementos no cerrados, espacios de nombre faltantes y valores truncados. XML estructuralmente válido pero semánticamente inconsistente (por ejemplo, referencias de fórmula quebradas) todavía puede causar XmlParsingException.


Sumación de referencia API

claseDescripción
WorkbookXmlMapperLeer / Escritura xl/workbook.xml
WorksheetXmlMapperLeer/Escribir por hoja partes XML
SharedStringTableXmlMapperLeer / Escritura xl/sharedStrings.xml
StylesheetXmlMapperLeer / Escritura xl/styles.xml
XmlParsingExceptionDesacuerda de los fallos de parse XML no recuperables

Ver también

 Español