XPath local-name介绍及应用

620 阅读4分钟

XPath local-name

XPath local-name的定义

XPath local-name是一个函数,它返回给定节点集合中第一个节点的字符串名称。基本上,XPath local-name将返回名称的本地部分作为参数字符串,该参数是包含在词法形式中的零长度。零参数的形式是确定的,取决于焦点,也包含了XPath中的上下文依赖。

XPath局部名称的概述

XPath local-name函数将返回字符串。如果参数在XPath local-name中被省略,它将默认为上下文的项目。XPath局部名称的函数行为是省略了参数,与传入参数的上下文项目相同。在提供参数后,空序列的函数将返回零长度的字符串。在确定节点$arg参数后,该函数将返回零长度的字符串。然后,否则这个函数将返回被展开的qname的局部部分,节点是通过使用参数识别的。

如何使用XPath局部名称?

  • 我们知道,XPath局部名称函数将返回代表节点集函数名称的字符串。
  • 下面是XPath local-name的语法,显示了我们如何使用XPath local name。

语法 -

Local-name([set-of-node])
  • 在上面的语法中,node-set是可选参数,本地名称进入第一个node-set后将返回node-set的值。如果这个参数被省略,那么将使用当前节点的上下文。
  • 下面的步骤显示了我们如何使用XPath本地名称,如下所示。我们正在创建项目名称为XPathLocalName。
  1. 在这一步中,我们将在spring boot中创建XPath本地名称的项目模板。我们已经提供了项目组名称为com.example,工件名称为XPathLocalName,项目名称为XPathLocalName,并选择java版本为11。我们将spring boot的版本定义为2.6.7。

组 - com.example

工件名称 - XPathLocalName

名称 - XPathLocalName

Spring boot - 2.6.7

项目 - Maven

Java - 11

包名称 - com.example.XPathLocalName

项目描述 - XPathLocalName的项目

依赖关系 - Spring web

包装 - Jar

ui

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

pr

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

ng

4.在这一步中,我们要在XPath本地名称项目中添加依赖关系。我们正在添加一个依赖关系。

代码 -

<dependency>

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

<artifactId> saxon-XPath </artifactId>

<version> 8.7 </version>

</dependency>

khf

5.在创建项目结构后,在这一步中,我们将创建stud.xml文件,如下所示。

代码 - 6.

<?xml version = "1.0" encoding = "UTF-8"?>

<cr:students xmlns:cr = "example.com/">

<cr:student std = 1>

<stud_name> ABC </stud_name>

<addr> Pune </addr>

</cr:student>

<cr:student std = 2>

<stud_name> PQR </stud_name>

<addr> Mumbai </addr>

</cr : student>

<cr:student std = 3>

<stud_name> XYZ </stud_name>

<addr> Pune </addr>

</cr : student>

<cr : student type = 4>

<stud_name> BCD </stud_name>

<addr> Pune </addr>

</cr : student>

<cr : student std = 5>

<stud_name> CBD </stud_name>

<addr> Chennai </addr>

</cr : student>

</cr : students>

mbn

6.在创建完stud.xml文件后,我们正在创建本地名称功能,如下所示。

代码 -

public class XPath_localname

{

DocumentBuilderFactory DBF = DocumentBuilderFactory.newInstance ();

DBF.setNamespaceAware (true);

DocumentBuilder DB = DBF.newDocumentBuilder ();

Document doc = (Document) DB.parse ("stud.xml");

XPathFactory XF = XPathFactory.newInstance();

XPath XPath = XF.newXPath();

XPathExpression xexpr = XPath.compile ("//*[local-name ()='student']/stud_name/text()");

String type = (String) xexpr.evaluate (doc, XPathConstants.STRING);

System.out.println ("Name of student : " + type);

}

}

sewe

ert

XPath本地名称函数

  • XPath本地名称提供了节点设置功能。基本上XPath包含以下函数,XPath本地名包含其中的节点集函数。
  • 节点集
  • 字符串
  • 布尔
  • 数字
  • 在使用node-set函数时,当前的node-set被作为一个参数传递。以下是对节点集函数的描述。
  • Number last () - 这个函数用来返回当前节点集的最后一个项目。

例子

  • Number position () - 该函数用于返回当前节点集中的当前项。

例子 - Number count (node-set)

  • Number count (node-set) - 这个函数用来返回节点集的项目数。

例子 -

  • Node set id (object) - 它将返回具有指定ID的元素。
  • String local-name (node-set) - 它用于返回节点的非命名空间部分。
  • String namespace-uri (node-set) - 它将返回node-set中的URI节点名称。
  • String name (node-set) - 它用于返回XPath本地名称中的复杂结构节点名称。
  • Node set evaluate (string) - 它将从参数中定义的XPath表达式中返回一个节点集的结果。
  • Node-set instance (string) - 它将返回一个名为xml的实例的内容。
  • 下面是XPath本地名称的示例函数。

代码 -

<Employee>

<Organization>

<EmpName> ABC </EmpName>

</Organization>

</Employee>

XPath local-name 345

例子

  • 下面是XPath局部名称的例子,如下所示。在下面,我们正在创建emp.xml文件,如下所示。

代码 - 例子

<?xml version = "1.0" encoding = "UTF-8"?>

<cr:Employees xmlns:cr = "example.com/">

<cr:Employee ID = 1>

<Emp_name> ABC </Emp_name>

<addr> Pune </addr>

</cr:Employee>

<cr:Employee ID = 2>

<Emp_name> PQR </Emp_name>

<addr> Mumbai </addr>

</cr:Employee>

</cr:Employees>

XPath local-name vas

  • 现在我们正在创建XPath本地名称函数,如下所示。

代码--

public class XPath_localname

{

…..

}

XPath local-name nas

XPath local-name bvfgh

总结

XPath local-name函数将返回字符串。如果在XPath local-name中省略了参数,它将默认为上下文的项目。XPath local-name是一个函数,它将返回给定节点集合中第一个节点的字符串名称。