我有一个像这样的XMl文件
Picasso.with(context).load("image url").error(R.drawable.bg_480_800).placeholder(R.drawable.loading_img).into(holder.imageURL);
我想从xml
上面得到这样的结果<Page ID="28" AreaID="1" MenuText="Om IAI" Href="Default.aspx?ID=28" FriendlyHref="/da-dk/om-iai.aspx" Allowclick="True" Hidden="False" ShowInSitemap="True" ShowInLegend="True" AbsoluteLevel="1" RelativeLevel="1" Sort="1" LastInLevel="False" InPath="True" ChildCount="2" class="L1_Active" Active="True" IsPagePasswordProtected="False" IsPageUserProtected="False" CanAccessPasswordProtectedPage="False" CanAccessUserProtectedPage="True">
<Page ID="29" AreaID="1" MenuText="Underside med langt navn" Href="Default.aspx?ID=29" FriendlyHref="/da-dk/om-iai/underside-med-langt-navn.aspx" Allowclick="True" Hidden="False" ShowInSitemap="True" ShowInLegend="True" AbsoluteLevel="2" RelativeLevel="2" Sort="1" LastInLevel="False" InPath="False" ChildCount="0" class="L2" Active="False" IsPagePasswordProtected="False" IsPageUserProtected="False" CanAccessPasswordProtectedPage="False" CanAccessUserProtectedPage="True" />
<Page ID="30" AreaID="1" MenuText="SubPage 2" Href="Default.aspx?ID=30" FriendlyHref="/da-dk/om-iai/subpage-2.aspx" Allowclick="True" Hidden="False" ShowInSitemap="True" ShowInLegend="True" AbsoluteLevel="2" RelativeLevel="2" Sort="2" LastInLevel="True" InPath="False" ChildCount="0" class="L2" Active="False" IsPagePasswordProtected="False" IsPageUserProtected="False" CanAccessPasswordProtectedPage="False" CanAccessUserProtectedPage="True" />
</Page>
我的xslt模板看起来像这样
<ul>
<li>
<a>level 1</a>
<nav>
<div><ul><li><a>level 2</a></li></ul></div>
<div><ul><li><a>level 2</a></li></ul></div>
</nav>
</li>
</ul>
基本上我不确定如何在div和ul元素中包装每个2级项目,我也在寻找递归方法,所以它也可以处理2级下的3级。任何帮助都会很棒!
答案 0 :(得分:1)
在您的XSLT中,您调用名为MegaMenu
的命名模板,该模板未在其他位置显示。我不确定这是做什么的,但我认为要解决您当前的问题,您可以使用子页面的xsl:for-each
,在其中创建div
标记,然后递归调用&#34;页&#34;模板。
试试这个XSLT
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" />
<xsl:template match="Page">
<xsl:param name="depth" select="1"/>
<ul>
<li>
<a href="{@FriendlyHref}">
<xsl:text>Level </xsl:text>
<xsl:value-of select="$depth" />
<xsl:text> - </xsl:text>
<xsl:value-of select="@MenuText" disable-output-escaping="yes"/>
</a>
<xsl:if test="Page">
<nav>
<xsl:for-each select="Page">
<div>
<xsl:apply-templates select=".">
<xsl:with-param name="depth" select="$depth + 1" />
</xsl:apply-templates>
</div>
</xsl:for-each>
</nav>
</xsl:if>
</li>
</ul>
</xsl:template>
</xsl:stylesheet>