
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中创建多个属性的项目模板。
- 在创建项目时,我们提供项目组名称为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

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

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

4.在这一步中,我们要在多个属性中添加一个依赖关系,我们要添加的依赖关系如下。
代码 -
<dependency>
<groupId> net.sf.saxon </groupId>
<artifactId> saxon-XPath </artifactId>
<version> 8.7 </version>
</dependency>

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>


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>


- 下面是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的表达式中使用多属性,直到我们得到匹配的元素。XPath的多个属性是通过使用网页元素来写的,根据情况我们可以使用多个属性或单个属性来寻找网页元素。