java创建多级xml树_月光软件站 - 编程文档 - Java - 用XSL与XML实现多级树形菜单
XSL語言功能強大而奇妙。從前面的例子中,我們可以初步了解到,一個xsl文檔中使用了很多類似"xsl:xxxxx"這樣的標簽,這些標簽就是xsl語言的部分。一個xsl文檔至少是由一個模板組成的,xsl的解析引擎會負責將xml數據按xsl的模板定義來轉換。就像上面的例子,就有兩個模板:
模板可以用來處理特定的xml數據,通過match屬性來指定。match屬性里的是一個xpath的表達式(xpath在本文先不作討論),通過它可以匹配相關的xml節點給模板來處理。我們看到在模板中,大部分內容都是html的內容,只有少量的這樣的標簽,非標簽的內容,在xsl引擎解析時,會原文保留。當遇到標簽才做處理。像上面的例子中,有一個標簽,它是將select屬性指定的greeting節點輸入到當前位置。通過xml文檔我們看到greeting節點值是“Hello, World!”,輸出時它正好在html的H1標簽當中,所以它當然以大號的黑體字來顯示了。
常用的xsl標簽有很多,常用到的一般有:
xsl:value-of (選擇節點并輸出)
xsl:apply-templates (對匹配的節點應用相應的模板)
xsl:template (模板定義)
xsl:if (條件判斷)
xsl:choose (多條件分支)
xsl:for-each (循環)
利用這些xsl的標簽,我們可以實現一定的‘數據結構+算法’來完成一部分工作,所以我們說,xsl是一種程序語言,關于xsl 更詳細的學習,你可以看Microsoft的XML SDK文檔,它對xml, xsl甚至xpath的內容講的非常詳細(感謝Microsoft提供這么好的文檔)。
下面回到正題,如何用xml/xsl實現一個多級樹形菜單。
我來看一下樹形菜單的xml文檔類型定義:
通過這個定義可以看到,我們的菜單xml結構是由一個tree根結點組成。tree節點可以包含多個menu節點。而每個menu節點也可以包含多個menu節點。這樣就達到多級樹形結構的要求。下面來看這個xml結構的例子:
menu節點具有5種屬性,分別是:
text,用來作為菜單的顯示文字
icon,菜單的圖標
url, 點擊菜單后的地址
target, 顯示地址的目標框架
folded, 如果是菜單還有子菜單的話,此屬性決定菜單是否折疊。
其中,text屬性是必須的,其它的根據需要取舍。
截圖:
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的java创建多级xml树_月光软件站 - 编程文档 - Java - 用XSL与XML实现多级树形菜单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中油资本是干什么的
- 下一篇: 资本收益率的计算公式