个性化阅读
专注于IT技术分析

XPath轴介绍和示例

众所周知, 路径使用绝对或相对路径定义节点的位置。以相同的方式, XPath轴用于通过元素之间的关系(如父, 子, 同级等)来标识元素。轴是指元素相对于元素所在的轴。

各种Axis值的列表:

Index Axis Description
1) ancestor 它指定当前节点的祖先, 包括父节点直到根节点。
2) ancestor-or-self 它指定当前节点及其祖先。
3) attribute 它指定当前节点的属性。
4) child 它指定当前节点的子代。
5) descendant 它指定当前节点的后代, 即该节点的子节点直到叶节点(没有更多的子节点)。
6) descendant-or-self 它指定当前节点及其后代。
7) following 它指定了当前节点之后的所有节点。
8) following-sibling 它指定了上下文节点的以下同级。兄弟姐妹与当前节点处于同一级别, 并共享其父节点。
9) namespace 它指定当前节点的名称空间。
10) parent 它指定当前节点的父节点。
11) preceding 它指定了当前节点之前(即开始标记之前)的所有节点。
12) self 它指定当前节点。

XPath轴示例

<p><xsl:value-of select = "firstname"/></p>
<xsl:value-of select = "/class/student/preceding-sibling::comment()"/>

这里的名字与名为employee.xml的XML文档的employee节点有关。

让我们创建一个使用XPath表达式的XML文档” employee.xml”及其样式表文档” employee.xsl”。

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>

员工.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>

输出

Xpath轴1
赞(0)
未经允许不得转载:srcmini » XPath轴介绍和示例

评论 抢沙发

评论前必须登录!