这是我的.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<BlogCategories>
<BlogCategory ID="1" ParentID="0" Name="Travel" Active="1" seo_keywords="Travel Blogs" seo_description="Travel Blogs" ParentName=""/>
<BlogCategory ID="2" ParentID="0" Name="HealthCare" Active="1" seo_keywords="HealthCare Blogs" seo_description="HealthCare Blogs" ParentName=""/>
<BlogCategory ID="13" ParentID="1" Name="Destinations" Active="1" seo_keywords="Destinations" seo_description="Destinations" ParentName="Travel"/>
<BlogCategory ID="14" ParentID="1" Name="Stories " Active="1" seo_keywords="Stories " seo_description="Stories " ParentName="Travel"/>
<Parent Id="1" ParentName="Travel"/>
<Parent Id="2" ParentName="HealthCare"/>
</BlogCategories>
这是我的.xslt代码:
<xsl:for-each select="Parent">
<div class="grid-col-3">
<ul>
<h4><a href="ParentName/Id">
<xsl:value-of select="@ParentName"></xsl:value-of>
</a></h4>
<xsl:for-each select="/BlogCategories/BlogCategory[@ParentID = current()/@Id]">
<!--<xsl:if test="@ParentID=$Id">-->
<li class="lis">
<a href="">
<xsl:value-of select="@Name"></xsl:value-of>
</a>
</li>
<!--</xsl:if>-->
</xsl:for-each>
</ul>
</div>
</xsl:for-each>
我想在href中发送网址&lt; h4><a href="ParentName/Id">
示例:假设我点击医疗保健,那么网址必须是.../healthcare/1
就像
如果我点击目的地,那么网址就像.../Destinations/13
答案 0 :(得分:0)
我认为你正在寻找的语法就是这个......
<a href="{@ParentName}/{@Id}">
花括号称为Attribute Value Templates,表示要计算的表达式,而不是字面输出。因此,{@ParentName}
将替换为ParentName
属性的值,类似于{@Id}
。
你有<a href="">
你可能需要这个
<a href="../{@Name}/{@ID}">
顺便说一句,请注意XML和XSLT区分大小写,因此Id
与ID
不同。
答案 1 :(得分:0)
您可以像这样使用1This is 1!
-This is 2!
--This is 4!
1--This is 5!
---This is 7!
----This is 8!
4-This is 3!
--This is 6!
3This is 9!
-This is 10!
1-This is 11!
,xsl:element
和xsl:attribute
:
concat
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="concat(ParentName,'/',Id)"/>"/>
</xsl:attribute>
<xsl:value-of select="ParentName"/>
</xsl:element>
,ParentName
应该是xml代码中所选节点或所选属性的值。