XPath 轴基础教程文档
收录于 2023-04-20 00:10:05 · بالعربية · English · Español · हिंदीName · 日本語 · Русский язык · 中文繁體
XPath轴
我们知道,路径使用绝对路径或相对路径定义节点的位置。以相同的方式,XPath轴用于通过元素之间的关系来标识元素,例如父,子,同级等。轴是指元素相对于元素所在的轴。
各种Axis值的列表:
轴 | 说明 |
祖先 | 它指定当前节点的祖先,包括父节点直到根节点。 |
祖先或自我 | 它指定当前节点及其祖先。 |
属性 | 它指定当前节点的属性。 |
子节点 | 它指定当前节点的子代。 |
后代 | 它指定当前节点的后代,即节点的子节点直到叶节点(没有更多的子节点)。 |
后代或自我 | 它指定当前节点及其后代。 |
紧邻节点 | 它指定当前节点之后的所有节点。 |
紧邻同节点 | 它指定上下文节点的以下同级。兄弟姐妹与当前节点处于同一级别,并共享其父节点。 |
命名空间 | 它指定当前节点的名称空间。 |
父节点 | 它指定当前节点的父级。 |
之前节点 | 它指定了当前节点之前(即开始标记之前)的所有节点。 |
当前节点 | 它指定当前节点。 |
XPath轴示例
<p><xsl:value-of select = "firstname"/></p> <xsl:value-of select = "/class/student/preceding-sibling::comment()"/>
这里的名字与名为employee.xml的XML文档的员工节点相关
让我们创建一个名为" employee.xml"的XML文档及其名为" employee.xsl"的样式表文档XPath表达式。
Employee.xml
<?xml version = "1.0"?> <?xml-stylesheet type = "text/xsl" href = "employee.xsl"?> <class> <employee id = "001"> <firstname>Abhiram</firstname> <lastname>Kushwaha</lastname> <nickname>Manoj</nickname> <salary>15000</salary> </employee> <employee id = "002"> <firstname>Akash</firstname> <lastname>Singh</lastname> <nickname>Bunty</nickname> <salary>25000</salary> </employee> <employee id = "003"> <firstname>Brijesh</firstname> <lastname>Kaushik</lastname> <nickname>Ballu</nickname> <salary>20000</salary> </employee> <employee id = "004"> <firstname>Zoya</firstname> <lastname>Mansoori</lastname> <nickname>Sonam</nickname> <salary>30000</salary> </employee> </class>
Employee.xsl
<?xml version = "1.0" encoding = "UTF-8"?> <xsl:stylesheet version = "1.0"> xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"> <xsl:template match = "/" > <html> <body> <xsl:value-of select = "/class/employee/preceding-sibling::comment()"/> <br/> <xsl:text>First Employee: </xsl:text> <xsl:value-of select = "/class/employee/child::firstname" /> </body> </html> </xsl:template> </xsl:stylesheet>
输出: