我有一个xml文件和xsl文件链接到它,这很好 . 我试图找出一种方法,我可以从xml动态拉取值而不是写
xsl:value-of select =“tag ...”
每次我在caseStudy标签中添加一个新节点 . 我包括下面的xml和xsl文件 .
XML
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="caseStudies.xsl"?>
<caseStudiesList>
<caseStudy>
<tag1 label="tag1">TAG1_value</tag1>
<tag2 label="tag2">TAG2_value</tag2>
<tag3 label="tag3">TAG3_value</tag3>
<tag4 label="tag4">TAG4_value</tag4>
<tag5 label="tag5">TAG5_value</tag5>
</caseStudy>
<caseStudy>
<tag1 label="tag1">TAG1_value</tag1>
<tag2 label="tag2">TAG2_value</tag2>
<tag3 label="tag3">TAG3_value</tag3>
</caseStudy>
<caseStudy>
<tag1 label="tag1">TAG1_value</tag1>
<tag2 label="tag2">TAG2_value</tag2>
<tag3 label="tag3">TAG3_value</tag3>
<tag4 label="tag4">TAG4_value</tag4>
<tag5 label="tag5">TAG5_value</tag5>
<tag6 label="tag6">TAG6_value</tag6>
<tag7 label="tag7">TAG7_value</tag7>
</caseStudy>
</caseStudiesList>
XSL
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
</head>
<body>
<xsl:for-each select="caseStudiesList/caseStudy">
<div class="caseStudyContainer ">
<ul>
<li>
<span><xsl:value-of select="tag1/@label" /></span>
<xsl:value-of select="tag1" />
</li>
<li>
<span><xsl:value-of select="tag2/@label" /></span>
<xsl:value-of select="tag2" />
</li>
<li>
<span><xsl:value-of select="tag3/@label" /></span>
<xsl:value-of select="tag3" />
</li>
<li>
<span><xsl:value-of select="tag4/@label" /></span>
<xsl:value-of select="tag4" />
</li>
<li>
<span><xsl:value-of select="tag5/@label" /></span>
<xsl:value-of select="tag5" />
</li>
<li>
<span><xsl:value-of select="tag6/@label" /></span>
<xsl:value-of select="tag6" />
</li>
<li>
<span><xsl:value-of select="tag7/@label" /></span>
<xsl:value-of select="tag7" />
</li>
</ul>
</div>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
希望我有所作为 . 有没有办法从XML文件中在XSL中动态获取值?
谢谢
2 回答
你只需要为每个人筑巢另一个......
作为XML中的规则,不建议使用不同的标记名称来引用相同类型的数据 . 这是一种情况,即该规则真正进入了画面 . 你已经知道如何使用
for-each
所以为什么不在这里申请呢?只需调用每个单独的元素
tag
而不是tag1
tag2
等等 . 好吧,考虑一个比"tag"更明智的名称 .