以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  一个Xpath的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=12105)


--  作者:alextoby
--  发布时间:11/16/2004 2:04:00 PM

--  一个Xpath的问题
<dataset>
<a1>
  <a>xx</a>
  <b>xx</b>
</a1>
<b2>
  <a>xx</a>
  <b>xx</b>
</b2>
<a3>
  <a>xx</a>
  <b>xx</b>
</a3>
<b4>
  <a>xx</a>
  <b>xx</b>
</b4>
</dataset>

怎么把所有的包含a的元素找出来?谢谢


--  作者:doubleG
--  发布时间:11/16/2004 2:36:00 PM

--  
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
 The following Element contains elemnt a:
 <br/>
 <xsl:for-each select="dataset/child::*[count(./a)!=0]">
  <xsl:value-of select="name(.)"/>
   
 </xsl:for-each>
</xsl:template>
</xsl:stylesheet>

--  作者:alextoby
--  发布时间:11/16/2004 2:41:00 PM

--  
首先先谢谢doubleG的回答,我没表达清楚。我是想把a1和a3找出来。
--  作者:doubleG
--  发布时间:11/16/2004 2:49:00 PM

--  
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
 The following Elements whose name contains element a:
 <br/>
 <xsl:for-each select="dataset/child::*[contains(name(.),'a')]">
  <xsl:value-of select="name(.)"/>
   
 </xsl:for-each>
</xsl:template>
</xsl:stylesheet>

--  作者:alextoby
--  发布时间:11/16/2004 3:06:00 PM

--  
Thanks!我在继续研究研究!
--  作者:guiguzi629
--  发布时间:11/30/2004 11:38:00 PM

--  
我刚刚入门的,这个函数
<xsl:for-each select="dataset/child::*[contains(name(.),'a')]">
还看不懂的哦?
--  作者:菜籽
--  发布时间:12/1/2004 10:46:00 PM

--  
name(.)返回的是当前节点的名称
contains(name(.),'a')是当前节点中含有a的节点

W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
125.000ms