<navigations>
<items>
<id>0b2d5efe-fb36-44d1-9577-2cff48d54329</id>
<title><![CDATA[HOME]]></title>
<orderid><![CDATA[0]]></orderid>
<levels><![CDATA[1]]></levels>
<link><![CDATA[/?clocal=0B2D5EFE-FB36-44D1-9577-2CFF48D54329]]></link>
<intro><![CDATA[]]></intro>
<local><![CDATA[0B2D5EFE-FB36-44D1-9577-2CFF48D54329]]></local>
<postCount>0</postCount>
</items>
<items>
<id>7ecf4cf1-936d-49ff-a5b6-0ad4b37e2b91</id>
<title><![CDATA[CATEGORIES]]></title>
<orderid><![CDATA[1]]></orderid>
<levels><![CDATA[1]]></levels>
<link><![CDATA[/?clocal=7ECF4CF1-936D-49FF-A5B6-0AD4B37E2B91]]></link>
<intro><![CDATA[]]></intro>
<local><![CDATA[7ECF4CF1-936D-49FF-A5B6-0AD4B37E2B91]]></local>
<postCount>0</postCount>
<item>
<id>bb88b6d8-b0a2-45af-a7ef-32c1398c7661</id>
<title><![CDATA[Cuisines]]></title>
<orderid><![CDATA[2]]></orderid>
<levels><![CDATA[2]]></levels>
<link><![CDATA[/?clocal=BB88B6D8-B0A2-45AF-A7EF-32C1398C7661]]></link>
<intro><![CDATA[]]></intro>
<local><![CDATA[BB88B6D8-B0A2-45AF-A7EF-32C1398C7661]]></local>
<postCount>0</postCount>
</item>
<item>
<id>3cbc0b2a-5425-4b29-8e1a-65bfec8e4ec2</id>
<title><![CDATA[Vogue]]></title>
<orderid><![CDATA[3]]></orderid>
<levels><![CDATA[2]]></levels>
<link><![CDATA[/?clocal=3CBC0B2A-5425-4B29-8E1A-65BFEC8E4EC2]]></link>
<intro><![CDATA[]]></intro>
<local><![CDATA[3CBC0B2A-5425-4B29-8E1A-65BFEC8E4EC2]]></local>
<postCount>0</postCount>
<item>
<id>1daad057-669e-44ad-8217-677c58b69e44</id>
<title><![CDATA[World News]]></title>
<orderid><![CDATA[5]]></orderid>
<levels><![CDATA[3]]></levels>
<link><![CDATA[/?clocal=1DAAD057-669E-44AD-8217-677C58B69E44]]></link>
<intro><![CDATA[]]></intro>
<local><![CDATA[1DAAD057-669E-44AD-8217-677C58B69E44]]></local>
<postCount>0</postCount>
</item>
</item>
<item>
<id>7d2e4ba0-041f-4400-b660-66bbd2082faf</id>
<title><![CDATA[Tidbits]]></title>
<orderid><![CDATA[4]]></orderid>
<levels><![CDATA[2]]></levels>
<link><![CDATA[/?clocal=7D2E4BA0-041F-4400-B660-66BBD2082FAF]]></link>
<intro><![CDATA[]]></intro>
<local><![CDATA[7D2E4BA0-041F-4400-B660-66BBD2082FAF]]></local>
<postCount>0</postCount>
</item>
</items>
<items>
<id>36d37897-1283-4a8b-afb7-f586ea14cf39</id>
<title><![CDATA[Style Guide]]></title>
<orderid><![CDATA[6]]></orderid>
<levels><![CDATA[1]]></levels>
<link><![CDATA[/?clocal=36D37897-1283-4A8B-AFB7-F586EA14CF39]]></link>
<intro><![CDATA[]]></intro>
<local><![CDATA[36D37897-1283-4A8B-AFB7-F586EA14CF39]]></local>
<postCount>0</postCount>
</items>
</navigations>
XSL 如何轉換成遞回顯示出來。效果就是遞回選單,下面是我自己弄的,只顯示了第一層,沒有實作遞回,由于XSL語法不熟,不知道遞回該如何體現出來。請熟悉的賜教下。
<xsl:template name="Menu">
<div class="menu">
<div class="menuTop"></div>
<div class="menuContent">
<ul>
<xsl:for-each select="navigations/items">
<li>
<a href="https://bbs.csdn.net/topics/{link}">
<xsl:value-of select="title"/>
</a>
</li>
</xsl:for-each>
</ul>
</div>
<div class="menuBottom"></div>
</div>
</xsl:template>
uj5u.com熱心網友回復:
<?xml version="1.0" encoding="utf-8"?>
<ui>
<navigations>
<items>
<title><![CDATA[HOME]]></title>
<levels><![CDATA[1]]></levels>
</items>
<items>
<title><![CDATA[CATEGORIES]]></title>
<levels><![CDATA[1]]></levels>
<item>
<title><![CDATA[Cuisines]]></title>
<levels><![CDATA[2]]></levels>
</item>
<item>
<title><![CDATA[Vogue]]></title>
<levels><![CDATA[2]]></levels>
<item>
<title><![CDATA[World News]]></title>
<levels><![CDATA[3]]></levels>
</item>
</item>
<item>
<title><![CDATA[Tidbits]]></title>
<levels><![CDATA[2]]></levels>
</item>
</items>
<items>
<title><![CDATA[Style Guide]]></title>
<levels><![CDATA[1]]></levels>
</items>
</navigations>
</ui>
xsl 適配代碼
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:fun="sys:fun" >
<xsl:output method="xhtml" version="1.0" omit-xml-declaration="yes" encoding="utf-8" media-type="text/html" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<!--選單-->
<xsl:template name="SubItem">
<xsl:for-each select="./*">
<xsl:if test="count(./*)>0">
<li>
<xsl:value-of select="title"/>
<xsl:call-template name="SubItem"/>
</li>
</xsl:if>
</xsl:for-each>
</xsl:template>
<xsl:template name="Menu">
<ul>
<xsl:for-each select="navigations/items">
<li>
<xsl:value-of select="title"/>
<xsl:call-template name="SubItem"/>
</li>
</xsl:for-each>
</ul>
</xsl:template>
<xsl:template match="ui">
<div class="menu">
<!--選單-->
<xsl:call-template name="Menu"/>
<!--選單完-->
</div>
</xsl:template>
</xsl:stylesheet>
結果
<div class="menu" xmlns="http://www.w3.org/1999/xhtml" fun="sys:fun">
<ul>
<li>HOME</li>
<li>CATEGORIES<li>Cuisines</li><li>Vogue<li>World News</li></li><li>Tidbits</li></li>
<li>Style Guide</li>
</ul>
</div>
目前遞回是弄出來了,
但是想要的效果是,
<div class="menu" xmlns="http://www.w3.org/1999/xhtml" fun="sys:fun">
<ul>
<li>HOME</li>
<li>CATEGORIES
<ul>
<li>Cuisines</li>
<li>Vogue
<ul>
<li>World News</li>
</ul>
</li>
<li>Tidbits</li>
</ul>
</li>
<li>Style Guide</li>
</ul>
</div>
這個<ul> 標簽要怎么加才對。我嘗試了好多,都是不對的
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/101302.html
標籤:XML/XSL
上一篇:動態網頁學ASP好還是PHP好。
下一篇:請問這個CSS如何實作?
