La Red de Conocimientos Pedagógicos - Currículum vitae - ¿Cómo debería escribirse XPATH?

¿Cómo debería escribirse XPATH?

Descripción

Nodename selecciona todos los nodos secundarios de este nodo.

/Seleccionar desde el nodo raíz.

//Seleccione los nodos en el documento que coincidan con la selección del nodo actual, independientemente de su posición.

. Seleccione el nodo actual.

..Seleccione el nodo padre del nodo actual.

@Selecciona un atributo.

Expresión de enrutamiento

Resultado

Librería selecciona todos los nodos secundarios del elemento librería.

/bookstore selecciona el elemento raíz librería. Nota: Si la ruta comienza con una barra diagonal (/), siempre representa una ruta absoluta a un elemento.

Librería/Libros selecciona todos los elementos del libro que son hijos del elemento Librería.

//libro selecciona todos los elementos secundarios del libro independientemente de su posición en el documento.

librería//libros selecciona todos los elementos secundarios del elemento libro, independientemente de dónde se encuentren en la librería.

langed nombrado selecciona todos los atributos llamados idioma.

Por ejemplo

1. Busque el elemento raíz de la página://

2. Encuentre todos los elementos de entrada en la página://entrada

.

3. Busque el elemento de entrada secundario directo en el primer elemento de formulario de la página (es decir, el elemento de entrada de nivel inferior que solo contiene el elemento de formulario, representado por una ruta absoluta y representado por un solo símbolo):/ /formulario[1] /entrada.

4. Busque todos los elementos de subentrada en el primer elemento de formulario de la página (siempre que se calcule la entrada en el elemento de formulario, no importa cuántas otras pestañas estén anidadas, estarán representadas por rutas relativas, con doble //No.)://form[1]//input.

5. Busque el primer elemento de formulario en la página: ://form[1]

6. [@ id='loginForm']

7. Busque el elemento de entrada ://input[@name='username'] cuyo atributo de nombre es nombre de usuario en la página.

8. Busque el primer elemento de entrada debajo del elemento de formulario con el id loginForm en la página: ://form[@ id = 'log in form']/input[1].

9. La página de búsqueda tiene un elemento de entrada con un atributo de nombre de continuar y un atributo de tipo de botón://input[@ nombre = 'continuar'][@ tipo = 'botón'].

10. ¿Encontrar todos los elementos con id en la página web? /@id

2. Modificar el contenido buscado por el nodo.

Por ejemplo

Expresión de enrutamiento

Resultado

/bookstore/book[1] selecciona el primer elemento que pertenece al subdirectorio de librería. elemento elemento del libro.

/bookstore/book[last()] selecciona el último elemento de libro que pertenece al elemento secundario de la librería.

/bookstore/book[last()-1] selecciona el penúltimo elemento del libro que pertenece al elemento secundario de la librería.

/bookstore/book[position()] selecciona los dos primeros elementos del libro que son hijos del elemento librería.

//title[@lang] selecciona todos los elementos del título con el atributo denominado lang.

//title[@lang='eng'] selecciona todos los elementos del título que tienen un atributo lang con un valor de eng.

/Librería/Libro[Precio>35.00] Selecciona todos los elementos libro del elemento librería. El valor del elemento precio debe ser mayor que 35,00.

/Librería/Libro [Precio y gt35.00]/título Selecciona todos los elementos de título del elemento libro en el elemento libro. El valor del elemento precio debe ser mayor que 35,00.

3. Seleccione nodos desconocidos

Comodines

Descripción

* coincide con cualquier nodo de elemento.

@ * Coincide con cualquier nodo de atributo.

Node() coincide con cualquier tipo de nodo.

Por ejemplo

Expresión de enrutamiento

Resultado

/bookstore/* selecciona todos los elementos secundarios del elemento librería.

//*Selecciona todos los elementos del documento.

//title[@*] selecciona todos los elementos del título con atributos.

4. Seleccione varias rutas.

Al utilizar el operador | en una expresión de ruta, puede seleccionar varias rutas.

Expresión de enrutamiento

Resultado

//book/title | //book/price selecciona todos los elementos de título y precio del elemento libro.

//title | //price selecciona todos los elementos de título y precio en el documento.

/bookstore/book/title | //price selecciona todos los elementos de título que pertenecen al elemento de libro del elemento de librería y todos los elementos de precio en el documento.

5. Palabras clave

Casos de uso

Da un ejemplo

Texto()libro/autor/text()

cadena()libros/autor/cadena()

datos()libros/autor/datos()

. libro/autor/.

Da un ejemplo

Ejemplo XML

<book><author>tom<em>john</em>cat< /author><pricing><price>20</price><discount>0.8</discount></pricing></book>

Text()

A menudo ves text() al final de una expresión XPath, que simplemente devuelve el contenido de texto del elemento especificado.

El formato xpath rastreado es libro/autor/texto (), y el contenido rastreado es Tom cat, en el que John no pertenece al contenido del nodo directo del autor.

String()

La función string() obtendrá el contenido de texto de todos los nodos del elemento especificado, que se unirá en una cadena.

El formato xpath rastreado es libro/autor/cadena(), y el contenido rastreado se rastrea desde el principio hasta el final del autor de Tom John Cat.

Data()

La mayoría de las veces, la función data() y la función string() se usan comúnmente, y no se recomienda usar la función data() con frecuencia. Según las estadísticas, esta función afectará el rendimiento de XPath.

El formato xpath rastreado es libro/precios/datos(), y el contenido rastreado devuelve 20 y 0,8 por separado. Su tipo no es cadena, sino xs:anyAtomicType, por lo que se pueden utilizar funciones matemáticas para realizar determinadas operaciones.

Al rastrear todos los números, solo puede usar datos(), no texto() o cadena(), porque XPath no admite operaciones matemáticas en cadenas.

Autor: Xiao Xianyu YYY

Fuente: blogs.com/pythonywy/p/11082153.html.

Acerca del autor: No importa lo largo que sea el camino Es decir, sigues caminando paso a paso. No importa lo corto que sea el camino, no puedes llegar a él sin dar pasos.

Esta obra está firmada - uso no comercial - ¿no hay interpretación de la versión internacional 4.0? Para obtener permiso, indique el autor y la fuente.

Categoría:? ¿Los reptiles son buenos escribiendo? Sígueme para recopilar este artículo, Xiao Xianyu YwY

Focus-4

Fans-302+Follow 00 Artículo anterior:? Descriptor\Obtener/Configurar/Eliminar, Inicializar/Crear/Llamar, Metaclase

Siguiente:? ¿Marco de red, composición de Internet, protocolo OSI de siete capas, capa abstracta @? Pescadito salado YYY? ¿Lectura(1584)? Nota (3) Editar colección

Lista de comentarios Piso #1 2019-06-25 13:26? Gracias por su apoyo(0)? ¿Objeción(0)#2F2019-06-25 13:36? Increíble 2 ¿Gracias por tu apoyo (0)? ¿Oponerse(0)# 3.er piso [propietario]? 2019-06-25 14:07?小 Pescado salado YwY@ impresionantes dos asientos

¿Puedes apoyar (0)? Objeción (0) Actualizar comentarios Actualiza la página y vuelve al principio. Los usuarios registrados deben iniciar sesión antes de comentar. Por favor. ¿Acceso? ¿aún? ¿registro? ¿visita? Página de inicio del sitio web. Recomiendo conocerte mejor. Blog Park lanzó una encuesta para ayudar a la comunidad a mejorar.

Código fuente VC++ recomendado con más de 500.000 líneas: control industrial de configuración a gran escala, CAD de simulación de energía, biblioteca de código fuente GIS.

¡Recomendado para descarga abierta! Manual práctico básico para la operación y mantenimiento de OSS

Información personal

El proceso de creación de un programa es esencialmente un proceso de depuración y estandarización: haga clic para ver las fotos de la vida del blogger. 568972484

WeChat:? YwYbetheone

Blog personal:? Blog del Sr. Yang

Sitio web de música personal:? Música del Egeo

Radio:? Domina el rastreador de Python en dos minutos al día.

Pescado salado YwY

Tiempos de jardín:? 1 año y 2 meses

Fans:? 302

Seguir:? 4+Atención

& ltJulio 2020>

Sol

Uno

Dos

Tres

p>

Cuatro

Cinco

Seis

28 29 30 1 2 3 4

5 6 7 8 9 10 11

12 13 14 15 16 17 18

19 20 21 22 23 24 25

26 27 28 29 30 31 1

2 3 4 5 6 7 8

Mis etiquetas

Drf framework (15)

Vue-CLI (13)

Comercio electrónico Grabs relacionados (6)

Foro (6)

Marco de gancho Frieda (5)

Tornado (4)

Apéndice (3 )

Java (3)

Operación detallada de Git (3)

Tareas cronometradas y tareas asincrónicas (3)

Más

Puntos y clasificaciones

Entero-190814

Ranking-2915

¿Clasificación de ensayos? (572)

Django (61)

Flask (16)

github (9)

Ir (17)

cuaderno jupyter (1)

linux (20)

Diario de aprendizaje de Python (116)

Shell (1)

Tebola(2)

vs(1)

Vs diario de autoestudio(7)

Vue(26)

Concurrencia Programación (8)

Jardín de blogs (10)

Construcción de blogs personales (6)

Banco de preguntas con botones forzados (22)

Animales que se arrastran (127)

La interfaz (50)

Base de datos (22)

Subprograma WeChat (11)

Mini programa ( 22)

Excepción (17)

¿Archivo de tesis? (494)

Julio 2020 (8)

Junio ​​2020 (14)

Mayo 2020 (4)

Abril 2020 (9 )

Marzo 2020 (10)

Febrero 2020 (5)

65438+Octubre 2020 (10)

2019 12 (13 )

2019 165438+octubre (49)

2019 10 (78)

2065438 +septiembre 2009 (76)

2065438+ Agosto 2009 (74)

2065438+Julio 2009 (48)

2065438+2009 Junio ​​2019 (41)

2065438+Mayo 2009 (48)

Abril 2019 (7)

Últimos comentarios

1 Responder: Blog Garden Beautification Little Rocket

Gracias

Peter William

2. Respuesta: Todas las formas de implementar la descarga de archivos en el front-end.

Qué genial. . . . . . . . . . . . . . . . . . . . . . . . . . . .

-Xiaobaotao

3. Acerca de: autenticación jwt y autenticación jwt personalizada en el marco DRF.

@Hola, A Liang ha visto el vídeo. ...

-小 Salty Fish YYY

4. Acerca de: autenticación jwt y autenticación jwt personalizada en el marco DRF.

Mirando el blog de mi hermano, debe ser el hermano del viejo. Este artículo es realmente detallado

Hola, A Liang.

5. Respuesta: Reptiles

@小izailong...

-小 Pescado salado YYY

6.

Jefe, he estado estudiando el método para descifrar el código de verificación extremo durante algún tiempo, pero el control deslizante siempre se desvía, lo solucioné.

-Xiao Zailong

7. Respuesta: arreglo del diario de Python

@十七indexGracias...

-Xiao Xian Fish YYY

8. Respuesta: arreglo del diario de Python

Fuerte

-Seventeen Index

9. configuración

Te he estudiado y te he seguido.

-Seventeen Index

10.re: módulo parsel para el análisis de páginas web del rastreador Python

Mi nombre es Liu Xiaohua. ¿Cuál es la contraseña? ...

-Pequeño pescado salado YYY

Clasificación de lectura

1. Rastreador de Python (tomar imágenes) (16036)

2. .python rastreador (captura de videos) (13072)

3.directorio de aprendizaje de python-crawler (4164)

4.django genera clases de modelo basadas en tablas de bases de datos existentes (3446)

5. Disposición del diario de Python (3222)

6. Módulo Parsel para el análisis de páginas web del rastreador de Python (3084)

7.Desplazamiento en asociación JS Scroll (2906)

8. Módulo Panda (clasificación detallada), pd.concat (adición posterior) (2884)

9. Atributos de respuesta y contenido en Scrapy (2799) Extract

10. Instalación de Python3 usando el paquete urllib2 Xiaokeng (1933)

¿Derechos de autor? 2020 Pescadito Salado YYY

El poder viene de. NET Core en Kubernetes