XPath定义模式或路径表达式以选择XML文档中的节点或节点集。 XSLT使用这些模式来执行转换。路径表达式看起来与我们在传统文件系统中使用的通用表达式非常相似。
文章图片
XPath指定可以执行XPath表达式的输出的七种类型的节点。
- 根
- 元件
- 文本
- 属性
- 评论
- 加工说明
- 命名空间
有用的路径和表达式列表, 用于从XML文档中选择任何节点/节点列表:
Index | Expression | Description |
---|---|---|
1) | node-name | 它用于选择具有给定名称” nodename” 的所有节点 |
2) | / | 它指定选择从根节点开始。 |
3) | // | 它指定选择从与选择匹配的当前节点开始。 |
4) | . | 选择当前节点。 |
5) | .. | 选择当前节点的父节点。 |
6) | @ | Selects attributes. |
7) | student | 示例-选择名称为” student” 的所有节点。 |
8) | class/student | 示例-选择属于班级子级的所有学生元素 |
9) | //student | 选择所有学生元素, 无论它们在文档中的何处 |
employee.xml
<
?xml version = "1.0"?>
<
?xml-stylesheet type = "text/xsl" href = "http://www.srcmini.com/employee.xsl"?>
<
class>
<
employee id = "001">
<
firstname>
Aryan<
/firstname>
<
lastname>
Gupta<
/lastname>
<
nickname>
Raju<
/nickname>
<
salary>
30000<
/salary>
<
/employee>
<
employee id = "024">
<
firstname>
Sara<
/firstname>
<
lastname>
Khan<
/lastname>
<
nickname>
Zoya<
/nickname>
<
salary>
25000<
/salary>
<
/employee>
<
employee id = "056">
<
firstname>
Peter<
/firstname>
<
lastname>
Symon<
/lastname>
<
nickname>
John<
/nickname>
<
salary>
10000<
/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>
<
h2>
Employees<
/h2>
<
table border = "1>
<
tr bgcolor = "pink">
<
th>
ID<
/th>
<
th>
First Name<
/th>
<
th>
Last Name<
/th>
<
th>
Nick Name<
/th>
<
th>
Salary<
/th>
<
/tr>
<
xsl:for-each select = "class/employee">
<
tr>
<
td>
<
xsl:value-of select = "@id"/>
<
/td>
<
td>
<
xsl:value-of select = "firstname"/>
<
/td>
<
td>
<
xsl:value-of select = "lastname"/>
<
/td>
<
td>
<
xsl:value-of select = "nickname"/>
<
/td>
<
td>
<
xsl:value-of select = "salary"/>
<
/td>
<
/tr>
<
/xsl:for-each>
<
/table>
<
/body>
<
/html>
<
/xsl:template>
<
/xsl:stylesheet>
【XPath表达式】输出
文章图片
推荐阅读
- XPath节点
- 什么是XPath
- XSLT xsl(message元素)
- XSLT xsl(import元素)
- XSLT xsl(key元素)
- poj 2385 Apple Catching(记录结果再利用的动态规划)
- react-native Android 全面屏手机 底部留有一大块黑屏
- 专题(“今日校园” App 用户体验分析)
- 社交电商模式商城APP开发分析