问个"//"的用法
时间:2005-08-30
来源:互联网
***********************************
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="test.xsl" ?>
<doc>
<id>123</id>
<book>
<id>456</id>
</book>
</doc>
======================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="doc">
<xsl:value-of select="//id" />
</xsl:template>
************************************
这里我想问下, //id按书上意思应该是文档中所有ID字段的值(因为//左边为空,即从根目录开始,买的本书上写的), 但我实际得到的值还是第一个ID的值,也就是123.
现在请哪个大虾帮忙说下原因, 或如何才能得到所有ID的值
谢谢
[ 本帖由 比尔熊 最后编辑于 2005-8-30 21:36 ]
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="test.xsl" ?>
<doc>
<id>123</id>
<book>
<id>456</id>
</book>
</doc>
======================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="doc">
<xsl:value-of select="//id" />
</xsl:template>
************************************
这里我想问下, //id按书上意思应该是文档中所有ID字段的值(因为//左边为空,即从根目录开始,买的本书上写的), 但我实际得到的值还是第一个ID的值,也就是123.
现在请哪个大虾帮忙说下原因, 或如何才能得到所有ID的值
谢谢
[ 本帖由 比尔熊 最后编辑于 2005-8-30 21:36 ]
作者: 比尔熊 发布时间: 2005-08-30
//id => 123
//book/id => 456
//book/id => 456
作者: ※潇洒※ 发布时间: 2005-08-30
谢谢
但要是这样我就不明白了,看书上介绍,//是表示在某节点下的所子节点,如:
x//y是表示在x节点下的所有y节点,包括x/*/y, x/*/*/y...等,也就是说在x节点的内部所有任何深度的y节点都包括。
要是如版主那例子,那我用不用//不是一个样?
但要是这样我就不明白了,看书上介绍,//是表示在某节点下的所子节点,如:
x//y是表示在x节点下的所有y节点,包括x/*/y, x/*/*/y...等,也就是说在x节点的内部所有任何深度的y节点都包括。
要是如版主那例子,那我用不用//不是一个样?
作者: 比尔熊 发布时间: 2005-08-31
for-each :) 看了下面的例子你应该能理解了。
(呵呵.昨天没有把你代码直接拿来试, 顺手写的. 不好意思)
xml:
<?xml version="1.0"?> <?xml-stylesheet href="test.xsl" type="text/xsl"?> <doc> <book> <id>123</id> </book> <book> <id>456</id> </book> <test> <book> <id>789</id> </book> </test> </doc>
提示:您可以先修改部分代码再运行
xsl:
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="doc"> <xsl:for-each select="//book"> <xsl:value-of select="id"/><br /> </xsl:for-each> </xsl:template> </xsl:stylesheet>
提示:您可以先修改部分代码再运行
(呵呵.昨天没有把你代码直接拿来试, 顺手写的. 不好意思)
xml:
<?xml version="1.0"?> <?xml-stylesheet href="test.xsl" type="text/xsl"?> <doc> <book> <id>123</id> </book> <book> <id>456</id> </book> <test> <book> <id>789</id> </book> </test> </doc>
提示:您可以先修改部分代码再运行
xsl:
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="doc"> <xsl:for-each select="//book"> <xsl:value-of select="id"/><br /> </xsl:for-each> </xsl:template> </xsl:stylesheet>
提示:您可以先修改部分代码再运行
作者: ※潇洒※ 发布时间: 2005-08-31
谢谢潇洒,搞明白了
作者: 比尔熊 发布时间: 2005-09-01
<?xml version="1.0" ?> <?xml-stylesheet type="text/xsl" href="myt.xsl" ?> <doc> <book> <id>1</id> <mybook> <id>2</id> <actbook> <id>3</id> </actbook> </mybook> </book> <person> <id>p1</id> <ourperson> <id>p2</id> <ourpersonxxx> <id>p3</id> </ourpersonxxx> </ourperson> </person> </doc>
提示:您可以先修改部分代码再运行
作者: 无心止痛 发布时间: 2005-11-09
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<xsl:for-each select="//id">
<br/> <xsl:value-of select="." />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<xsl:for-each select="//id">
<br/> <xsl:value-of select="." />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
作者: 无心止痛 发布时间: 2005-11-09
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28