En este artículo, vamos a discutir cómo analizar XML en el lenguaje de programación C ++. Veremos varios ejemplos de trabajo para comprender el mecanismo de análisis de XML en C ++.
¿Qué es XML?
XML es un lenguaje de marcado y se utiliza principalmente para almacenar y transferir datos de forma organizada. XML son las siglas de eXtensible Markup Language. Es muy similar a HTML. El XML se centra completamente en almacenar y transferir los datos, mientras que el HTML se utiliza para mostrar los datos en el navegador.
Un archivo XML de muestra / sintaxis XML
Aquí hay un archivo XML de muestra:
versión='1.0' codificacion='utf-8'?>
>
A diferencia de HTML, es un lenguaje de marcado orientado a etiquetas y podemos definir nuestra propia etiqueta en un archivo XML. En el ejemplo anterior, tenemos varias etiquetas definidas por el usuario, como. Cada etiqueta tendrá la etiqueta final correspondiente. es la etiqueta final de. Podemos definir tantas etiquetas definidas por el usuario como queramos organizar los datos.
Análisis de bibliotecas en C ++:
Hay varias bibliotecas para analizar datos XML en la mayoría de los lenguajes de programación de alto nivel. C ++ no es una excepción. Estas son las bibliotecas de C ++ más populares para analizar datos XML:
- RapidXML
- PugiXML
- TinyXML
Como sugiere el nombre, RapidXML se centra principalmente en la velocidad y es una biblioteca de análisis de estilo DOM. PugiXML admite la conversión Unicode. Es posible que desee utilizar PugiXML si desea convertir un documento UTF-16 a UTF-8. TinyXML es una versión mínima para analizar datos XML y no tan rápido en comparación con los dos anteriores. Si solo desea hacer el trabajo y no le importa la velocidad, puede elegir TinyXML.
Ejemplos de
Ahora, tenemos un conocimiento básico de XML y bibliotecas de análisis XML en C ++. Veamos ahora un par de ejemplos para analizar el archivo xml en C ++:
- Ejemplo-1: Analizar XML en C ++ usando RapidXML
- Ejemplo-2: Analizar XML en C ++ usando PugiXML
- Ejemplo-3: Analizar XML en C ++ usando TinyXML
En cada uno de estos ejemplos, usaremos las bibliotecas respectivas para analizar un archivo XML de muestra.
Ejemplo-1: Analizar XML en C ++ usando RapidXML
En este programa de ejemplo, demostraremos cómo analizar XML usando la biblioteca RapidXML en C ++. Aquí está el archivo XML de entrada (sample.xml):
versión='1.0' codificacion='utf-8'?>>
Nuestro objetivo aquí es analizar el archivo XML anterior usando C ++. Aquí está el programa C ++ para analizar datos XML usando RapidXML. Puede descargar la biblioteca RapidXML desde Aquí .
#incluir#incluir
#incluir
#include 'rapidxml.hpp'
utilizando espacio de nombreshoras;
utilizando espacio de nombresrapidxml;
xml_documentDoc
xml_node *nodo_raíz= NULO;
En tprincipal(vacío)
{
costo << ' orteAnalizando los datos de mis alumnos (sample.xml) ..... ' <<endl;
// Leer el archivo sample.xml
ifstream theFile('muestra.xml');
vector<carbonizarse>buffer((istreambuf_iterator<carbonizarse>(el archivo)), istreambuf_iterator<carbonizarse>());
buffer.hacer retroceder('