不要拍摄我只是这里的信使,但我有一些看起来像这样的xml
<XMLSnippet>
<data>
<stuff value="stuff" />
<stuff value="more stuff" />
<stuff value="even more stuff" />
<widget value="you expected stuff didn't you" />
<stuff value="great, we've got stuff again" />
</data>
</XMLSnippet>
Run Code Online (Sandbox Code Playgroud)
我想循环遍历所有data子节点并输出以下内容
stuff
more stuff
even more stuff
you expected stuff didn't you
great, we've got stuff again
Run Code Online (Sandbox Code Playgroud)
如果重要,我只能使用XSLT 1.0
谢谢!
dsc*_*scl 19
感谢Phil和Alexandre的建议,这是我工作的代码
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/XMLSnippet">
<xsl:for-each select="data/*">
<xsl:value-of select="@value" />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
Phi*_*yNJ 11
这是一个基本的XSLT问题,所以我假设您对帖子的xsl经验不足.您需要了解xslt如何处理XML文档,这超出了本文的范围.不过,这应该让你开始.请注意,有几种方法可以获得所需的输出,这只是其中之一:
<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="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="XMLSnippet">
<xsl:for-each select="data/stuff">
<xsl:value-of select="@value"/>
</xsl:for-each>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
首先,模板匹配="/"是您的入口点.apply-templates是一个xslt指令,它告诉xslt处理器在上下文中应用节点的模板.在这种情况下,您的根节点"XMLSnippet".
for-each select ="data/stuff"应该是自解释的,以及select ="@ value"的值,除了@用于选择属性.
祝好运.我建议您阅读本书XSLT 2.0.一本关于XSLT的好书.
| 归档时间: |
|
| 查看次数: |
48574 次 |
| 最近记录: |