2010-11-19 72 views
0

我遇到了一个与我正在为客户端合作的XSLT代码问题。我无法更改模式,因为Flash应用程序依赖于它,并且做出任何更改都会破坏ActionScript。这很不幸。输出第一个字符串,不是所有的儿童字符串

这是我第一次进入XSLT,我承认它无能为力,所以我希望社区能帮助我。

这是架构(XML文件):

<statement title="Click on your Answer" answer="true"> 
    True or False: The question asked is here. 
     <feedback> 
     <answerTrue sound=""> 
      The response if the user answered true is here. 
     </answerTrue> 
     <answerFalse sound=""> 
      The response if the user answered false is here 
     </answerFalse> 
     </feedback> 
</statement> 

当我尝试访问 “声明” 像这样(XSLT):

<div id="statement"> 
<xsl:value-of select="statement" /> 
</div> 

它显示了 “answerTrue” 和“ answerFalse“节点以及它。我只想只有显示文字“真或假:问题......”。如果有人知道我可以用来显示语句而不显示子元素的标签,我会永远感激!谢谢!

+0

这里有点儿困惑。你发布的XSL片段是不同的,第二个似乎是你想要做的。又是什么问题?你在说什么标签 - HTML或XSL?究竟应该做什么? – Oded 2010-11-19 17:38:30

+0

啊,对不起。我可以看到这很混乱。我会更新这个问题。 – 2010-11-19 17:39:29

回答

2

使用

normalize-space(/statement/text()[1]) 
+0

[1]是什么? – 2010-11-19 19:35:28

+0

'[1]'是'[position()= 1]'的缩写。 '/ statement/text()[1]'表示:选择作为文档顶部元素的'statement'元素的第一个文本节点子元素。 – 2010-11-19 19:42:20

相关问题