
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。
- 在这一步中,我们将在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

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

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

4.在这一步中,我们要在XPath本地名称项目中添加依赖关系。我们正在添加一个依赖关系。
代码 -
<dependency>
<groupId> net.sf.saxon </groupId>
<artifactId> saxon-XPath </artifactId>
<version> 8.7 </version>
</dependency>

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>

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);
}
}


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局部名称的例子,如下所示。在下面,我们正在创建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本地名称函数,如下所示。
代码--
public class XPath_localname
{
…..
}


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