Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 75|Respuesta: 0

Usa XPath para recuperar XML y contenido de documentos HTML

[Copiar enlace]
Publicado enHace 3 días | | | |
XPath es una tecnología que especifica y extrae de forma precisa y eficiente la información requerida de los datos de estructuras de árbol, como HTML y XML.

Resumen de XPath

XPath es un lenguaje utilizado para especificar y extraer elementos y atributos específicos en un árbol de documentos XML o HTML. Dado que las páginas web suelen estar compuestas por HTML, XPath se utiliza ampliamente en diversos escenarios, como la extracción web, la recuperación de datos y la búsqueda de datos XML.

El uso típico es el siguiente:

  • Extracción de datos en rastreadores web: XPath se utiliza para obtener automáticamente datos específicos, como información de productos en sitios web de comercio electrónico o títulos de artículos en sitios web de noticias.
  • Búsqueda y procesamiento de datos XML: En sistemas empresariales y procesamiento de enlaces de datos, los datos suelen intercambiarse en formato XML. Al usar XPath, puedes extraer eficientemente la información necesaria de grandes cantidades de datos XML.
  • Respuestas de API analizables (formato XML): Cuando se usan APIs basadas en XML, como SOAP, XPath se utiliza para analizar datos de respuestas. Esto permite obtener rápidamente códigos de estado específicos y datos de resultados, mejorando la precisión de la integración del sistema y el procesamiento automatizado.

Recomendación de herramientas

En el proceso de aprendizaje y uso de XPath, las herramientas comunes incluyen:

Herramientas para desarrolladores de Chrome: Una herramienta potente que viene con el navegador Chrome, puedes llamarla pulsando la tecla F12. En el panel "Elements", puedes localizar rápidamente elementos HTML en una página web pasando el cursor y haciendo clic, y al hacer clic derecho en un elemento puedes copiar directamente la expresión XPath para facilitar la verificación y prueba. Por ejemplo, al analizar una página de producto de comercio electrónico, puedes usar herramientas de desarrollo de Chrome para obtener rápidamente XPath para nombres de productos, precios y otros elementos.
Firefox Developer Tools: También incluye el navegador, similar a Chrome Developer Tools. También te permite localizar fácilmente elementos en tu página, así como ver y probar expresiones de XPath. Esta es una buena opción para desarrolladores que están acostumbrados a usar el navegador Firefox.
Herramientas online de pruebas de XPath: Herramientas online como "XPath Tester" pueden usarse sin instalación y pueden emplearse abriendo una página web. Simplemente pega el contenido de un documento XML o HTML, introduce una expresión XPath y ve los resultados coincidentes en tiempo real. Esta herramienta es especialmente adecuada para principiantes que quieren empezar rápido y hacer ejercicios sencillos de XPath.
Plugin de XPath Helper: Tomando como ejemplo Chrome Browser, tras instalar el plugin XPath Helper, añadirá una ventana flotante a la interfaz del navegador al navegar por la web, mostrando la ruta XPath del elemento actual con el ratón, y podrás editar y probar expresiones XPath directamente en la ventana, mejorando enormemente la eficiencia del desarrollo.

Sintaxis abstracta de XPath

Seleccionar un nodo

XPath utiliza expresiones de camino para seleccionar nodos en un documento XML. Los nodos se seleccionan siguiendo un camino o paso. Las expresiones de camino más útiles se enumeran a continuación:
expresión
descripción
Nombre del nodoSelecciona todos los nodos hijos de este nodo.
/Elige del nodo raíz (toma el nodo hijo).
//Selecciona nodos en el documento del nodo actual de la selección correspondiente, independientemente de su ubicación (tomemos nodos descendientes).
.Elige el nodo actual.
..Elige el nodo padre del nodo actual.
@Elige un atributo.

En la tabla siguiente, hemos listado algunas expresiones de camino junto con los resultados de dichas expresiones:
Expresiones de camino
resultado
libreríaElige todos los nodos llamados librería.
/bookstore
Elige la librería de elementos raíz.
Nota: Si el camino comienza con una barra hacia adelante ( / ), ¡entonces este camino siempre representa un camino absoluto hacia un elemento!
librería/libroElige todos los elementos del libro que son hijos de la librería.
//bookSelecciona todos los subelementos del libro, independientemente de su posición en el documento.
librería//libroSelecciona todos los elementos de libros que sean descendientes del elemento librería, independientemente de dónde estén ubicados bajo la librería.
@langElige todas las propiedades llamadas lang.

Predicados

Un predicado se utiliza para encontrar un nodo específico o un nodo que contenga un valor especificado.
El predicado está incrustado entre corchetes.
En la tabla siguiente, listamos algunas expresiones de camino con predicados y los resultados de dichas expresiones:
Expresiones de camino
resultado
/bookstore/book[1]Elige el primer elemento del libro que forme parte del elemento hijo de la librería.
/bookstore/book[last()]Elige el último elemento del libro que forma parte del subelemento de la librería.
/bookstore/book[last()-1]Elige el penúltimo elemento del libro que pertenece al elemento niño de la librería.
/bookstore/book[position()<3]Elige los dos primeros elementos del libro que son elementos hijos del elemento de la librería.
Título[@lang]Selecciona todos los elementos del título que tengan una propiedad llamada lang.
título[@lang='inglés']Selecciona todos los elementos del título que tienen un atributo lang con valor eng.
/bookstore/book[price>35.00]Elige todos los elementos de libro del elemento librería, y el valor del elemento precio debe ser superior a 35,00.
/bookstore/book[price>35.00]//titleElige todos los elementos del título del elemento libro en el elemento librería, y el valor del elemento precio debe ser superior a 35,00.

Seleccionar un nodo desconocido

Los comodines de XPath pueden usarse para recoger elementos XML desconocidos.
comodín
descripción
*Coincide con cualquier nodo elemental.
@*Coincide con cualquier nodo de atributo.
nodo()Coincide con cualquier tipo de nodo.

En la tabla siguiente, enumeramos algunas expresiones de camino y los resultados de estas expresiones:
Expresiones de camino
resultado
/bookstore/*Elige todos los elementos infantiles del elemento librería.
//*Selecciona todos los elementos del documento.
título[@*]Elige todos los elementos del título con los atributos.

Elige varios caminos

Usando "|" en la expresión path Operadores, podéis elegir varios caminos.

En la tabla siguiente, enumeramos algunas expresiones de camino y los resultados de estas expresiones:
Expresiones de camino
resultado
//book/title | //book/priceElige todos los elementos de título y precio del libro.
título | precioElige todos los elementos de título y precio del documento.
/bookstore/book/title | //priceSelecciona todos los elementos del título del elemento libro que pertenecen al elemento librería y todos los elementos de precio del documento.

Función XPath

A continuación se presenta una lista comentada de añadidos específicos de XPath a XPath por funciones centrales de XPath y XSLT, incluyendo descripciones, sintaxis, listas de parámetros, tipos de resultados y fuentes en las correspondientes recomendaciones del W3C.

  • booleano()
  • techo()
  • choose()
  • concat()
  • contiene()
  • contar()
  • actual() específico de XSLT
  • document() específico de XSLT
  • element-available()
  • false()
  • floor()
  • formato-número() específico de XSLT
  • función-disponible()
  • generate-id() específico de XSLT
  • id()
  • clave() específica para XSLT
  • lang()
  • last()
  • nombre-local()
  • Nombre()
  • Espaciode de nombres-uri()
  • Espacio de normalización()
  • not()
  • número()
  • posición()
  • redondo()
  • empieza con()
  • string()
  • longitud de cuerda()
  • substring()
  • substring-after()
  • substring-before()
  • sum()
  • Propiedad del sistema() específica de XSLT
  • translate()
  • true()
  • unparsed-entity-url() específico de XSLT

Pruebas prácticas

Abre Chrome y obtén el contenido de texto de todos los enlaces de la pestaña A con el siguiente comando:
Como se muestra a continuación:



Referencia:El inicio de sesión del hipervínculo es visible.




Anterior:[Dramaturgo] (3) Pruebas automáticas para detectar excepciones de error
Próximo:.NET/C# llama al servicio de interfaz de traducción de texto Azure Translator
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com