¿Qué significa lo siguiente?
MSXML
Se refiere al analizador de lenguaje XML de Microsoft, que se utiliza para interpretar el lenguaje XML. Al igual que el texto html se descarga localmente, el navegador verificará la sintaxis del html, interpretará el texto html y luego lo mostrará. Para utilizar archivos xml, debe utilizar el analizador xml. Pero no sólo Microsoft lo tiene, IBM y Sun tienen su propio analizador xml.
MSXML incluye el kit de desarrollo de software SDK, lanzado por Microsoft. Los amigos que hayan instalado "Age of Mythology" sabrán que se ha utilizado en los juegos más recientes.
Entonces, ¿qué es MSXML? Su nombre completo es: "Microsoft XML Core Services", que se utiliza principalmente para ejecutar o desarrollar las últimas aplicaciones diseñadas a través de XML.
Microsoft lanzó oficialmente su componente de servicio principal XML: MSXML 4.0. En comparación con MSXML 3.0, MSXML 4.0 proporciona una gran cantidad de características nuevas y mejoras funcionales. Estos incluyen: soporte para lenguajes de esquemas XML, analizadores y motores XSLT más rápidos, mejor manejo de flujos XML y mejor soporte de coherencia. MSXML 4.0 no reemplaza a MSXML 3.0, ya que algunas características obsoletas de 3.0 se eliminaron por completo en 4.0. Por lo tanto, 4.0 se puede instalar al mismo tiempo que 3.0 (o incluso versiones anteriores).
MSXML 4.0 Service Pack 2 (SP2) es un reemplazo completo de MSXML 4.0 y MSXML 4.0 Service Pack 1 (SP1). Proporciona numerosas correcciones de errores y seguridad.
MSXML 4.0 SP2 no reemplaza a MSXML 3.0 porque ya no admite algunas características antiguas e inconsistentes. Por lo tanto, es posible que los usuarios tengan que ejecutar MSXML 4.0 y MSXML 3.0 o anterior.
Utilice MSXML para analizar texto XML
1. Introducción
El lenguaje de programación popular actual en la Web es una estructura de lenguaje basada en HTML. HTML es un marcado. . En otras palabras, la máquina por sí sola no puede analizar su contenido, por lo que apareció el lenguaje XML. El lenguaje XML (lenguaje de marcado extensible) es un subconjunto del lenguaje SGML. Conserva las funciones de uso principales de SGML al tiempo que reduce en gran medida la complejidad de SGML. El propósito de establecer el sistema de lenguaje XML es permitirle representar no solo el contenido del documento, sino también la estructura del documento, de modo que pueda ser entendido por humanos y máquinas al mismo tiempo. XML requiere el cumplimiento de ciertos estándares estrictos. Los analizadores XML son más exigentes con la sintaxis y la estructura que los navegadores HTML. XML requiere que la página web que se crea utilice la sintaxis y la estructura correctamente, en lugar de que el navegador adivine qué debería haber en el documento para mostrar HTML, como HTML. programa más fácil de implementar en términos de rendimiento y estabilidad. Los resultados del análisis de documentos XML son consistentes siempre. A diferencia de HTML, diferentes navegadores pueden analizar y mostrar el mismo HTML de manera diferente. Y como los analizadores no necesitan perder tiempo reconstruyendo documentos incompletos, pueden realizar sus tareas de manera más eficiente que sus equivalentes HTML. Pueden hacer todo lo posible para construir un árbol basado en la estructura de árbol ya contenida en el documento, en lugar de mostrarlo en función de la estructura mixta en el flujo de información. El estándar XML es una aplicación para el procesamiento de datos, no sólo para páginas web. Se puede crear cualquier tipo de aplicación sobre el analizador, y el navegador es solo un pequeño componente de XML.
Por supuesto, la navegación sigue siendo extremadamente importante porque proporciona a los trabajadores XML herramientas amigables para leer información. Pero para proyectos más grandes no es más que un escaparate. Debido a que XML tiene una estructura gramatical estricta, incluso podemos usar XML para definir un protocolo de comunicación de capa de aplicación. Por ejemplo, el Protocolo de comercio abierto de Internet se define en XML. En cierto sentido, algunos protocolos y formatos que definimos previamente usando el paradigma BNF pueden, en principio, definirse usando XML. De hecho, si somos lo suficientemente pacientes, podemos usar XML para definir una especificación del lenguaje C.
Por supuesto, XML permite el desarrollo libre de una gran cantidad de formularios de estilo HTML, pero sus reglas son más estrictas. XML tiene principalmente tres elementos: DTD (Declaración de tipo de documento-Declaración de tipo de documento) o Esquema XML (Esquema XML), XSL (Lenguaje de hoja de estilo extensible-Lenguaje de estilo extensible) y XLink (Lenguaje de enlace extensible-Lenguaje de enlace extensible). El programa de estudios DTD y XML estipula la estructura lógica de los archivos XML, define elementos en archivos XML, atributos de elementos y la relación entre elementos y atributos de elementos; el espacio de nombres (dominio de nombres) realiza una representación de datos de documentos XML unificada y una comunicación de datos integrada. Al cambiar la hoja de estilo, el mismo documento se puede agrandar, contraer para mostrar solo la capa exterior o formatear para imprimir. XLink ampliará aún más los enlaces simples existentes en la Web.
2. Instrucciones para implementar el análisis XML
Por supuesto, en teoría, de acuerdo con la definición de formato de XML, podemos escribir un analizador de sintaxis XML nosotros mismos, pero de hecho, Microsoft tiene nosotros. se proporcionan con un analizador de sintaxis XML. Si ha instalado IE5.0 o superior, en realidad ha instalado el analizador de sintaxis XML. Puede descargar los archivos MSXML SDK y Parser más recientes desde el sitio de Microsoft (www.microsoft.com). Es una biblioteca de enlaces dinámicos llamada MSXML.DLL. La última versión es msxml3. De hecho, es una biblioteca de objetos COM que encapsula todos los objetos necesarios para el análisis XML. Porque COM es un objeto reutilizable independiente del lenguaje que aparece en formato binario. Por lo tanto, puede utilizar cualquier lenguaje (como VB, VC, DELPHI, C Builder o incluso lenguaje de secuencias de comandos, etc.) para llamarlo e implementar el análisis de documentos XML en su aplicación. La siguiente introducción al modelo de objetos de documentos XML se basa en el último msxml3 de Microsoft.
3. Análisis del modelo de objeto de documento XML (XML DOM)
El objeto XML DOM proporciona un método estándar para operar la información almacenada en el documento XML. La interfaz de programación de aplicaciones (API) DOM. ) se utiliza como puente entre aplicaciones y documentos XML.
Se puede pensar en DOM como un sistema estructural estándar utilizado para conectar documentos y aplicaciones (también puede ser un lenguaje de script). El analizador MSXML le permite cargar y crear un documento, recopilar mensajes de error del documento, obtener y manipular toda la información y estructuras del documento y guardar el documento en un archivo XML. DOM proporciona a los usuarios una interfaz para cargar, acceder, manipular y serializar documentos XML. DOM proporciona una representación completa del documento XML almacenado en la memoria y proporciona un método para acceso aleatorio a todo el documento.
El DOM permite que las aplicaciones manipulen información en un documento XML de acuerdo con la estructura lógica proporcionada por el analizador MSXML. Utilice la interfaz proporcionada por MSXML para operar XML.
De hecho, el analizador MSXML genera una estructura de árbol DOM basada en el documento XML. Puede leer el documento XML y crear una estructura lógica de nodos basada en el contenido del documento XML. Se considera un árbol que contiene todos los demás nodos.
DOM permite a los usuarios ver documentos como un árbol de información estructurada en lugar de un simple flujo de texto. De esta manera, incluso si no se conocen los detalles semánticos de XML, las aplicaciones o scripts pueden manipular fácilmente la estructura. El DOM contiene dos abstracciones clave: una jerarquía en forma de árbol y una colección de nodos utilizados para representar el contenido y la estructura del documento. La jerarquía del árbol contiene todos estos nodos y los propios nodos también pueden contener otros nodos. La ventaja de esto es que para los desarrolladores, pueden encontrar y modificar la información de un nodo correspondiente a través de esta estructura jerárquica. El DOM trata los nodos como objetos ordinarios, por lo que es posible crear un script para cargar un documento y luego recorrer todos los nodos para mostrar información sobre los nodos de interés. Tenga en cuenta que los nodos pueden tener muchos tipos específicos, como elementos, atributos y texto, todos los cuales pueden considerarse un nodo.
El analizador MSXML de Microsoft lee un documento XML y luego analiza su contenido en un contenedor de información abstracta llamado nodo (NODES). Estos nodos representan la estructura y el contenido del documento y permiten que las aplicaciones lean y manipulen información en el documento sin conocer explícitamente la semántica de XML. Una vez analizado un documento, sus nodos se pueden ver en cualquier momento sin mantener un orden determinado.
Para los desarrolladores, el objeto de programación más importante es DOMDocument. El objeto DOMDocument permite explorar, consultar y modificar el contenido y la estructura de un documento XML exponiendo propiedades y métodos. Cada objeto posterior expone sus propias propiedades y métodos, de modo que se puede recopilar información sobre la instancia del objeto y el valor y el valor del objeto. La estructura se puede manipular y navegar a otros objetos en el árbol.
Las principales interfaces COM incluidas en MSXML.DLL son:
(1)DOMDocument
El objeto DOMDocument es la base de XML DOM. Puedes usarlo. Expone propiedades y métodos que le permiten explorar, consultar y modificar el contenido y la estructura de documentos XML. DOMDocument representa el nodo superior del árbol. Implementa todos los métodos básicos de un documento DOM y proporciona funciones miembro adicionales para admitir XSL y XSLT. Crea un objeto de documento a partir del cual se pueden obtener y crear todos los demás objetos.
(2)IXMLDOMNode
IXMLDOMNode es el objeto básico en el Modelo de objetos de documento (DOM). Los elementos, atributos, comentarios, instrucciones de proceso y otros componentes del documento pueden considerarse IXMLDOMNode. De hecho, el objeto DOMDocument en sí también es un objeto IXMLDOMNode.
(3)IXMLDOMNodeList
IXMLDOMNodeList es en realidad una colección de objetos Node. La adición, eliminación y cambio de nodos se puede reflejar inmediatamente en la colección, lo que se puede realizar mediante "para". ...siguiente" estructura para atravesar todos los nodos.
(4)IXMLDOMParseError
La interfaz IXMLDOMParseError se utiliza para devolver información detallada que ocurre durante el proceso de análisis, incluido el número de error, el número de línea, la posición del carácter y la descripción del texto.
A continuación se describe principalmente el proceso de creación de un objeto DOMDocument. Aquí, VC se utiliza para describir el proceso de creación de un objeto de documento.
HRESULT hr;
IXMLDomDocument* pXMLDoc;
IXMLDOMNode* pXDN
Hr=CoInitialize(NULL);
//Obtiene el puntero pXMLDOC sobre la interfaz IXMLDOMDocument.
hr=CoCreateInstance(CLSID_DOM Document, NULL, CLSCTX_INPPROC_SERVER,
IID_IXMLDOMDocument, (void**) & pXMLDoc
//Obtener información sobre IXMLDOMNode); interfaz El puntero pXDN.
hr=pXMLDoc-gt; QueryInterface (IID_IXMLDOMNode, (void**)amp; pXDN);
Durante el uso del analizador MSXML, podemos usar el método createElement en el documento para crear un nodo para cargar y guardar archivos XML. Se puede cargar un documento XML desde una URL especificada mediante el método load o loadXML. El método Load(LoadXML) toma dos parámetros: el primer parámetro xmlSource indica el documento que debe analizarse y el segundo parámetro isSuccessful indica si el documento se cargó correctamente. El método Guardar se utiliza para guardar el documento en una ubicación específica. El método Guardar tiene un parámetro de destino para indicar el tipo de objeto que debe guardarse. El objeto puede ser un archivo, un método de respuesta ASP, un objeto de documento XML o un objeto de cliente que admita la persistencia. El siguiente es un ejemplo sencillo del uso del método guardar (para procedimientos específicos, consulte /swm/200101/Uso de MSXML para analizar texto XML).
Al mismo tiempo, durante el proceso de análisis, necesitamos obtener y configurar el indicador de análisis. Usando diferentes indicadores de análisis, podemos analizar un documento XML de diferentes maneras. El estándar XML permite a los analizadores validar o no validar documentos, lo que permite que los procesos de análisis que no validan documentos omitan la recuperación de recursos externos. Además, puede configurar marcas para indicar si desea eliminar espacios en blanco adicionales del documento.
Para lograr este propósito, el objeto DOMDocument expone las siguientes propiedades, lo que permite a los usuarios cambiar el comportamiento del analizador en tiempo de ejecución:
(1) Async (relativo a C, son dos métodos, respectivamente get_async y put_async)
(2)ValidateOnparse (en relación con C, hay dos métodos, respectivamente get_validate OnParse y put_validateOnParse)
(3)ResolveExternals (relativo a C C tiene dos métodos, a saber, get_ Resolve Externals y put_ ResolveExternals)
(4) PersercveWhiteSpace (en relación con C, tiene dos métodos, a saber, get_ Perser cveWhiteSpace y put_ Persercve WhiteSpace)
Cada atributo puede aceptar o devolver un valor booleano.
De forma predeterminada, los valores de anync, valid dateOnParse y resolveExternals son VERDADEROS. El valor de persistWhiteSpace está relacionado con la configuración del documento XML. Si el atributo xml:space está configurado en el documento XML, el valor es FALSO.
Al mismo tiempo, se puede recopilar cierta información relacionada con la información del documento durante el proceso de análisis del documento. De hecho, se puede obtener la siguiente información durante el proceso de análisis del documento:
(. 1) doctype (tipo de documento): en realidad es un archivo DTD que se utiliza para definir el formato del documento. Si el documento XML no tiene un documento DTD asociado, devuelve NULL.
(2) Implementación: indica la implementación del documento, que en realidad se utiliza para indicar la versión de XML admitida por el documento actual.
(3)parseError (error de análisis): el último error que ocurrió durante el proceso de análisis.
(4) readyState (información de estado): indica la información de estado del documento XML. La función importante de readyState en el uso asincrónico del analizador XML de Microsoft es mejorar el rendimiento al cargar un documento XML de forma asincrónica. Es posible que deba verificar el estado del análisis. MSXML proporciona cuatro estados: estado en curso, estado completado, análisis en curso y análisis completado.
(5)url (Ubicación uniforme de recursos): información sobre la URL del documento XML que se está cargando y analizando. Tenga en cuenta que esta propiedad devuelve NULL si el documento se creó en la memoria.
Después de obtener la estructura del árbol del documento, podemos operar cada nodo en el árbol. Podemos obtener los nodos en el árbol a través de dos métodos, a saber, nodeFromID y getElementsByTagName.
nodeFromID incluye dos parámetros. El primer parámetro idString se utiliza para representar el valor de ID y el segundo parámetro node devuelve el puntero de interfaz al nodo NODE que coincide con el ID. Tenga en cuenta que, de acuerdo con las regulaciones técnicas de XML, el valor de ID en cada documento XML debe ser único y un elemento solo puede asociarse con un ID.
El método getElementsByTagName tiene dos parámetros. El primer parámetro tagName representa el nombre del elemento (Elemento) que se va a encontrar. Si tagName es "*", se devuelven todos los elementos (Elementos) del documento. El segundo parámetro es resultList, que en realidad es un puntero a la interfaz IXMLDOMNodeList, que se utiliza para devolver una colección de todos los nodos relacionados con tagName (nombre de etiqueta).
El siguiente es un ejemplo simple (para procedimientos específicos, consulte /swm/200101/Uso de MSXML para analizar texto XML).
Finalmente, analicemos cómo crear un nuevo nodo. De hecho, puede crear un nuevo nodo mediante el método createNode. CreateNode incluye cuatro parámetros. El primer parámetro Type representa el tipo de nodo que se creará. El segundo nombre del parámetro representa el valor de nodeName del nuevo nodo. El tercer parámetro namespaceURI representa el espacio de nombres relacionado con el nodo. nodo recién creado. Tenga en cuenta que se puede crear un nodo utilizando el tipo, el nombre y el espacio de nombres proporcionados (nodeName).
Cuando se crea un nodo, en realidad se crea dentro del alcance de un espacio de nombres (si se ha proporcionado un espacio de nombres). Si no se proporciona ningún espacio de nombres, en realidad se crea dentro del alcance del espacio de nombres del documento.
4. Un ejemplo sencillo del uso de MSXML para el análisis de documentos XML
Para ilustrar cómo utilizar el modelo DOM XML en VC, aquí se muestra un programa de ejemplo sencillo (para aplicaciones específicas). procedimientos, consulte/swm/200101/Uso de MSXML para analizar texto XML) es una aplicación de consola. El siguiente es el código principal del programa. Este código se utiliza para ubicar un nodo Nodo especial en un documento XML e insertar un nuevo nodo secundario.
Resumen
Debido a que los documentos XML tienen requisitos gramaticales mucho más estrictos que HTML, es mucho más fácil usar y escribir un analizador XML que escribir un analizador HTML. Al mismo tiempo, debido a que el documento XML no solo puede marcar los atributos de visualización del documento, sino que, lo que es más importante, marca la estructura del documento y las características de la información contenida, es conveniente obtener la información de nodos específicos a través de el analizador XML y mostrarlo o modificarlo, lo cual es conveniente para que el usuario pueda operar y mantener documentos XML. Al mismo tiempo, debemos tener en cuenta que XML es un sistema estructural abierto y no depende de ninguna empresa, por lo que el desarrollo de aplicaciones basadas en XML inevitablemente estará respaldado por la mayoría de las plataformas de desarrollo de software. Además, se puede ver que las principales empresas de desarrollo de software como Microsoft también han puesto sus miras en los sistemas basados en XML COM, ya sea la serie Office de Microsoft, servidores y navegadores web o productos de bases de datos (SQL Server). Soporta sistemas XML basados en COM. Utilice XML para personalizar el front-end de la aplicación y COM para implementar objetos comerciales y objetos de base de datos específicos, lo que hace que el sistema sea más flexible en escalabilidad y mantenibilidad
Dirección de descarga