Trabajar con el procesamiento XML

Trabajar con el procesamiento XML

Trabajar con el procesamiento XML

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,y, XmlAttribute Las clases forman el núcleo de esta capa.


Descargar un documento XML

Uso XmlDocument::Load para parse una cinta XML o un archivo en el árbol de documento in-memoria:

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

Construcción y ahorro de XML

Uso XmlDocument::Build para crear un documento XML de forma programática, y XmlDocument::SaveToUtf8 Para ser serializado de nuevo a una cinta UTF-8:

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

Elements de viaje

XmlElement proporciona acceso basado en la manejada ligera a los valores de elementos, niños y atributos. IsNull() == true, que se puede utilizar como un control seguro de cero:

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

Trabajar con los atributos

XmlAttribute proporciona acceso a atribuir pares de nombre y valor en un elemento. XmlAttribute::MakeAttribute(name, value) Crear nuevos atributos:

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

Mapeadores XML internos

La biblioteca utiliza clases de mapas dedicados para convertir objetos de modelo en la hoja de memoria a y desde sus representaciones XML. Estos son internos en el nivel de serializacin:

Clases de MapperResponsabilidad
WorkbookXmlMapperLeer y escribir la parte de relación del libro de trabajo
WorksheetXmlMapperLectura y escritura de partes XML individuales del tablero
StylesheetXmlMapperLeer y escribir el estilo de la parte
SharedStringTableXmlMapperLectura y escritura la tabla de las líneas compartidas

Cada mapa exponerá Read y Write Los métodos se llaman internamente por XlsxWorkbookSerializer No están destinados a uso directo en el código de aplicación.


Manejo de Errores

XML parsing erros de lanzamiento XmlParsingException.Capturar esta excepción cuando carga XML no confiado o malformado:

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

Consejos y mejores prácticas

  • Verificar XmlElement::IsNull() antes de acceder a los datos del elemento — los elementos en los caminos que faltan regresan un manual nulo.
  • Uso XmlDocument::SaveToUtf8() para obtener una cinta serializada para desbloquear o logar el estado XML intermedio.
  • No se puede hacer un recorrido de la clase (WorkbookXmlMapper, WorksheetXmlMapper, etc.) directamente en el código de aplicación — uso Workbook::Save y Workbook(filePath) En lugar de eso.
  • XmlParsingException se lanza en XML malformado; siempre envuelve cargas externas de XML en un bloque de prueba/catch.

Problemas comunes

ProblemasCausasFixado
IsNull() Volver a la verdadEl elemento no encontrado en el camino esperadoVerificar la estructura XML antes de cruzar
XmlParsingException En cargaXML malformado o no UTF-8Validar la entrada XML antes de pasar a Load
La salida de la tarjeta se diferencia de entradaModelo de mutacin antes de salvarAsegúrese de que todos los cambios del modelo se cometen antes de llamar Save

Sumación de referencia API

Clase / MétodoDescripción
XmlDocument::Load(content)Compartir una string XML
XmlDocument::Build()Construir un documento de forma programática
XmlDocument::SaveToUtf8()Serialización del documento a una cinta UTF-8
XmlElement::IsNull()Verificar si el elemento de manejo es válido
XmlElement::GetValue()Obtener el contenido del elemento de texto
XmlElement::GetAttributes()Obtenga la colección de atributos
XmlAttribute::IsNull()Verificar si el manejo de atributos es válido
XmlAttribute::MakeAttribute(name, value)Crea un nuevo manual de atributos
XmlParsingExceptionEntra en el XML malformado
WorksheetXmlMapperTítulo de trabajo XML read/write
WorkbookXmlMapperLibro de trabajo XML lectura/escritura

Ver también

 Español