Red de conocimientos turísticos - Conocimientos sobre calendario chino - Cómo utilizar la clase CMarkup para crear archivos XML grandes

Cómo utilizar la clase CMarkup para crear archivos XML grandes

Cree un nuevo documento XML, analice y modifique un documento XML existente, todas las clases simples implementadas usando cadenas MFC o STL, un ejemplo adecuado de CMarkup ejecutando un archivo Zip, esté dispuesto a agregar mirando el código fuente durante unos minutos. aplicación

Características

Cmarkup analiza XML simple basado en EDOM. El EDOM clave manipula configuraciones simples de elementos, atributos y datos XML. Evite leer documentos DOMSAX cuando se requiera una funcionalidad XML compleja

Quiere utilizar la clase CmarkupMSXML del proyecto Microsoft MSXMLCMarkup para demostrar completamente el uso de MSXML a través de los lenguajes EDOM y C++ COM

Cargue el paquete ( consulte el archivo comprimido (enlace a continuación) que contiene el código fuente del proyecto del cuadro de prueba, ejemplos de prueba de la clase Cmarkup y opciones de compilación para aplicaciones comerciales. Para obtener instrucciones detalladas sobre el uso comercial, consulte la nota de licencia al final del artículo.

Características enumeradas de CMarkup:

Independiente: no se requieren componentes XML externos

: clase de proyecto de compilación y mantiene las cadenas en el documento, así como una matriz de índice en memoria del total de cadenas.

Rápido: el analizador crea índices rápidamente. Arrays

Fácil: EDOM hace que crear, navegar y modificar XML sea más fácil que nunca

MSXML: la clase CMarkupMSXML encapsula los servicios XML de Microsoft con opciones de compilación EDOM y MSXML en una clase de demostración

UNICODE: El estándar UNICODE se puede compilar en la plataforma Windows de Windows NT y Windows CE. Compile secuencias de documentos UNICODEWindowsNT UNICODEXML con caracteres anchos en archivos UTF-8

UTF-8: acepte cadenas UTF-8 en archivos UTF-8 (asegúrese de que _MPCS no esté definido)

MPCS : datos de doble byte compatibles con UTF-8 (define_MPCS).

STL: La clase CMarkupSTL no utiliza en absoluto las opciones de compilación STL utilizadas en la demostración de MFC

Todos los datos son XML

Necesito guardarlos mediante un archivo o computadora A O transmitir información para enviar un bloque de información a la computadora B. La pregunta general es: tengo que considerar los tipos de entorno XML antes de organizar algún formato de datos. Ejemplo PATH=C: "".WIN95; tipos ini (alguna combinación) restricciones de coma u otras restricciones, o cadenas fijas para representar el XML para determinar Respuestas a algunas preguntas Algunos programadores se desaniman y necesitan ayuda simple para analizar algunas soluciones para formatear corchetes angulares La complejidad de XML Lectura de reglas de coincidencia de etiquetas XML en un nivel bajo Recomiendo leer el sitio web de CcodeProject Comenzando con XML - Capítulo 2: XML bien formateado

XML es más flexible y se utiliza más ampliamente, aunque XML utiliza más caracteres que el formato restringido y requiere compresión para ampliar los tipos de mensajes del documento.

Cmarkup es un procesador XML simple basado en el modelo de objetos de documento comprimido (EDOM: modelo de objetos de documento "encapsulado"). Su conjunto clave de eficiencia de procesamiento XML y DOM (modelo de objetos de documento) es la definición de imagen para. todo el tipo de imagen DOM EDOM es el mismo: documento XML.

CmarkUp encapsula el texto del documento XML. La posición anterior de la estructura proporciona elementos adicionales. Los datos de atributos del elemento de navegación se realizan mediante operaciones del documento. La posición anterior del niño permite agregar elementos. La posición del documento requiere una referencia explícita. Agregar elementos a La utilidad CMarkup del punto del documento recorre la imagen que contiene una cadena de descripción del documento llamada GetDoc.

Vea el código fuente del editor XML de primer objeto gratuito y use CMarkup para crear, navegar y navegar desde documentos XML

Crear documentos XML

La creación de documentos XML requiere construcción de documento XML. CMarque la imagen y llame a AddElem para crear el elemento raíz. Llame a AddElem("ORDER") donde el documento simplemente se carga utilizando un elemento ORDER vacío. Llame a AddChildElem en el elemento raíz para crear el elemento (por ejemplo: en el elemento raíz de la representación de la capa interna). xml.AddChildElem( "SN", "132487A-J" );

xml.AddChildElem( "NOMBRE", "carcasa del cigüeñal" );

xml.AddChildElem( "CANTIDAD" , "1" );

CString csXML = xml.GetDoc();

Este código genera el elemento ORDER del nodo raíz XML de la cara, tenga en cuenta la etiqueta de inicio, la etiqueta de fin, la cara principal del elemento final; (profundo o contiene) La etiqueta inicial del elemento principal debe estar antes de la etiqueta final y la etiqueta final debe estar antes del elemento ITEM contenido en el elemento ORDER. El elemento ITEM contiene elementos de tres caracteres: SN, NAMEQTY

132487A-J

Buje de manivela

1

El ejemplo que se muestra puede crear el elemento como un elemento nuevo y necesita llamar a IntoElem para moverse la posición principal del front-end y la superficie de posición del elemento del front-end para agregar el índice CMarkup del elemento para mantener la posición del front-end. Punteros para garantizar que el código fuente sea más corto y la navegación más fácil. El documento utiliza la misma ubicación lógica

Navegación por el documento XML

El ejemplo agrega una imagen CMarkup usando una cadena XML creada con SetDoc que se puede analizar para guiar la importación del mismo CMarkup imagen creada para establecer La posición frontal al comienzo del documento, lo que requiere llamar a ResetPos.

xml.FindChildElem( "SN" );

CString csSN = xml.GetChildData();

xml.FindChildElem( "CANT" );

p>

int nQty = atoi(xml.GetChildData()).

xml.

xml.OutOfElem();

}

IntoElem se llama antes de encontrar cada elemento de consulta de elemento, y luego se llama a OutOfElem después de familiarizarme con los tipos de navegación para garantizar que cada llamada de IntoElem debe llamarse junto con una llamada de OutOfElem. Atributos

El ejemplo anterior de creación de un documento solo creó el elemento ITEM. El ejemplo actual agrega recorte al contenido antes de crear el elemento, luego agrega la fuente de datos y agrega el atributo del elemento de información ENVÍO. El fragmento muestra cómo se puede llamar a IntoElemAddElem en lugar de AddChildElem,

CMarkup xml;

CMarkup xml

Esta es la primera vez que creamos un documento y Sabemos que podemos agregar elementos.

AddElem( "TEL", csPOCTel );

Después de desglosar el código, la superficie del elemento raíz XML ORDER contiene dos elementos ITEM y elementos SHIPMENT. Ambos elementos ITEM contienen elementos SN, NAME y SHIPMENT. Elemento POC NOMBRE y elemento TEL del tipo de atributo

132487A-J

Carcasa de manivela

1

4238764-A

Rodamientos

15

John Smith

555-1234

Buscar elemento

FindElem FindChildElem trabaja con elementos hermanos, selecciona un nombre de etiqueta, especifica el elemento que coincide con el nombre de etiqueta, busca el elemento antes del elemento y llama a Buscar antes de la posición del elemento hermano o coincidente. Elementos hermanos

Las dos llamadas Find para determinar el índice del elemento deben restablecerse a sus posiciones anteriores para ver cómo se ve el elemento ITEM en el ejemplo. El elemento QTY del elemento SN se puede determinar sin. creando un archivo XML en Call ResetChildPos() antes de encontrar el elemento QTY;

Para encontrar el elemento con un número específico, debe recorrer completamente el elemento ITEM y comparar los datos del SN. elemento para encontrar el número. El ejemplo es el mismo que el ejemplo de navegación anterior, llamando a IntoElem para ingresar el elemento ORDER y reemplazando FindChildElem("ITEM") con FindElem("ITEM"); nombre de etiqueta especificado I Ignora sus elementos hermanos, como los elementos SHIPMENT

CMarkup xml;

xml.FindElem("ITEM") )

{

xml.FindChildElem( "SN" );

if ( xml.GetChildData() = "SN");

xml.IntoElem(); PEDIR

onocimientos turísticos All Rights Reserved.