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 Mapper | Responsabilidad |
|---|---|
WorkbookXmlMapper | Leer y escribir la parte de relación del libro de trabajo |
WorksheetXmlMapper | Lectura y escritura de partes XML individuales del tablero |
StylesheetXmlMapper | Leer y escribir el estilo de la parte |
SharedStringTableXmlMapper | Lectura 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 — usoWorkbook::SaveyWorkbook(filePath)En lugar de eso. XmlParsingExceptionse lanza en XML malformado; siempre envuelve cargas externas de XML en un bloque de prueba/catch.
Problemas comunes
| Problemas | Causas | Fixado |
|---|---|---|
IsNull() Volver a la verdad | El elemento no encontrado en el camino esperado | Verificar la estructura XML antes de cruzar |
XmlParsingException En carga | XML malformado o no UTF-8 | Validar la entrada XML antes de pasar a Load |
| La salida de la tarjeta se diferencia de entrada | Modelo de mutacin antes de salvar | Asegúrese de que todos los cambios del modelo se cometen antes de llamar Save |
Sumación de referencia API
| Clase / Método | Descripció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 |
XmlParsingException | Entra en el XML malformado |
WorksheetXmlMapper | Título de trabajo XML read/write |
WorkbookXmlMapper | Libro de trabajo XML lectura/escritura |