XPath多重属性介绍及应用

455 阅读4分钟

XPath Multiple Attributes

XPath多重属性的定义

XPath多属性是通过使用网页元素编写的,根据情况我们可以使用多属性,也可以使用单属性来寻找网页元素。当在XPath表达式上使用单一属性时,它将返回匹配的元素,然后我们可以只使用单一属性。XPath多重属性在XPath中对于检索多个元素是非常重要和有用的。

XPath多重属性概述

在某些情况下,在XPath的表达式中使用单一属性将返回网页上的多个匹配元素。在返回网页上的多个元素后,我们可以在XPath的表达式中使用多个属性,直到我们得到匹配的元素。为了确定元素,我们可以利用html标签中的一个属性,或者我们也可以使用属性的组合和值来识别该元素。假设id属性不存在,那么我们可以使用其他属性,如class和name。

XPath多重属性如何工作?

  • 在使用XPath多重属性时,我们可以在一个类中使用两个或多个属性。我们可以利用仅适用于标签或属性组合和值的不同属性来识别元素,为此我们需要使用XPath多重表达式。
  • 如果单个属性中的XPath表达式可以识别多个元素,那么我们可以在路径的表达式中使用一个以上的属性来定位单个元素。
  • 为了编写多个属性,我们可以应用AND和OR条件。下面是使用AND条件的多属性的语法,如下所示。

语法 -

Name_of_tag [@name_of_attribute1 = ‘val1’ AND @name_of_attribute2 = ‘val2’]
  • 下面是使用OR条件的多个属性的语法,如下所示。

语法

Name_of_tag [@name_of_attribute1 = ‘val1’ OR @name_of_attribute2 = ‘val2’]
  • 在上面的语法中,标签名称指定了我们在多个属性中定义的标签的名称。
  • 属性的名称是指我们在多个属性中使用的属性名称,我们可以在一行代码中使用多个属性。
  • 值定义了我们在XPath属性中使用的值,我们可以在一行代码中按属性使用多个值。
  • 在定义XPath的多个属性时,我们使用OR和AND条件。
  • 下面的步骤显示了我们如何处理多个属性,如下所示。我们正在创建项目名称为XPathMultipleAttributes。在下面的步骤中,我们将在spring boot中创建多个属性的项目模板。
  1. 在创建项目时,我们提供项目组名称为com.example,工件名称为XPathMultipleAttributes,项目名称为XPathMultipleAttributes,并选择java版本为11。我们将spring boot的版本定义为2.6.7。

组 - com.example

工件名称 - XPathMultipleAttributes

名称 - XPathMultipleAttributes

Spring boot - 2.6.7

项目 - Maven

Java - 11

包名称 - com.example.XPathMultipleAttributes

项目简介 - XPathMultipleAttributes的项目

依赖关系 - Spring web

包装 - Jar

wer

2.在这一步,我们将提取下载的项目,并通过使用spring工具套件打开该项目,如下所示。

3456

3.在这一步中,我们要检查所有的项目结构和它们的文件,如下所示。此外,我们还检查pom.xml文件是否创建。如果这个文件没有被创建,那么我们需要手动创建同样的文件。在下面的例子中,这个文件已经创建了,所以我们没有必要手动创建它。

vdfg

4.在这一步中,我们要在多个属性中添加一个依赖关系,我们要添加的依赖关系如下。

代码 -

<dependency>

<groupId> net.sf.saxon </groupId>

<artifactId> saxon-XPath </artifactId>

<version> 8.7 </version>

</dependency>

lkjhg

5.现在我们通过使用AND条件定义多个属性来创建 stud.xml,如下所示。在下面的例子中,我们也正在运行这个项目。

代码 -

<html>

</head>

<body>

<table align = "center" width = 80% cellspacing = "2" cellpadding = "2" >

<tr>

<td> Stud1 : </td>

<td> input[@type = "text" and @stud_name="ABC"] </td>

</tr>

<tr>

<td> Stud2 : </td>

<td> input[@type = "checkbox" and @name="PQR" class = "4th"] </td>

</tr>

<tr>

<td> Stud3 : </td>

<td> input[@type="text" and name="XYZ"] </td>

</tr>

<tr>

<td> Stud4 : </td>

<td> input [@type = "checkbox" and name = "CBD"] </td>

</tr>

<tr>

<td> Stud5 : </td>

<td> input[@type="password" and class = "password"] </td>

</tr>

</table>

</body>

</html>

msa

cxz

XPath多重属性的例子

  • 下面是多个属性的例子。在下面的例子中,我们正在使用OR条件,如下。

代码-

<html>

</head>

<body>

<table align = "center" width = 90% cellspacing = "2" cellpadding = "2" >

<tr>

<td> Emp1 : </td>

<td> input[@type = "text" OR @Emp_name="ABC"] </td>

</tr>

<tr>

<td> Emp2 : </td>

<td> input[@type = "checkbox" OR @Emp_name="PQR" class = "4th"] </td>

</tr>

<tr>

<td> Emp3 : </td>

<td> input[@type="text" OR Emp_name="XYZ"] </td>

</tr>

<tr>

<td> Emp4 : </td>

<td> input [@type = "checkbox" OR Emp_name = "CBD"] </td>

</tr>

<tr>

<td> Emp5 : </td>

<td> input[@type="password" OR class = "password"] </td>

</tr>

</table>

</body>

</html>

1235698

XPath Multiple Attributes 14789

  • 下面是XPath多重属性的例子,如下所示。在下面的例子中,我们正在使用AND条件,如下所示。

代码 -

<html>

</head>

<body>

<table align = "center" width = 90% cellspacing = "2" cellpadding = "2" >

<tr>

<td> Emp1 : </td>

<td> input[@type = "text" AND @Emp_name="ABC"] </td>

</tr>

<tr>

<td> Emp2 : </td>

<td> input[@type = "checkbox" AND @Emp_name="PQR" class = "4th"] </td>

</tr>

<tr>

<td> Emp3 : </td>

<td> input[@type="text" AND Emp_name="XYZ"] </td>

</tr>

<tr>

<td> Emp4 : </td>

<td> input [@type = "checkbox" AND Emp_name = "CBD"] </td>

</tr>

<tr>

<td> Emp5 : </td>

<td> input[@type="password" AND class = "password"] </td>

</tr>

</table>

</body>

</html>

XPath Multiple Attributes qwertyui

XPath Multiple Attributes 45786321

结论

回到网页上的多元素,我们在XPath的表达式中使用多属性,直到我们得到匹配的元素。XPath的多个属性是通过使用网页元素来写的,根据情况我们可以使用多个属性或单个属性来寻找网页元素。