一个XSLT转换XML的站点地图

本文介绍如何利用XSLT来转换.NET生成的XML文件,实现菜单数据的动态展示。通过具体的XML和XSLT代码示例展示了如何将XML中的菜单项转化为HTML格式,并提供了JavaScript代码来加载和解析这些文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.NET(c#)怎么样生成XML就先不讲了

 

.NET生成的XML:Menu.xml

<Root>
  <TreeNode Title="zeditor1" Href="http://www.google.cn/" target="_blank" >

          <TreeNode Title="zeditor01" Href=http://www.yahoo.com.cn/" target="_blank"/>

   </TreeNode>
  <TreeNode Title="zeditor2" Href="http://www.baidu.com/ target="_blank" />
</Root>

 

XSLT:sitemenu.xsl

 

<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="Root">
 <xsl:apply-templates/>
</xsl:template>
<xsl:template match="TreeNode">
   <ul style="list-style:none;margin:0px 20px;">
    <xsl:for-each select=".">
    <li style="list-style:none;">
     <a>
     <xsl:attribute name="href">
      <xsl:value-of select="@Href"/>
     </xsl:attribute>
     <xsl:attribute name="target">
      <xsl:value-of select="@target"/>
     </xsl:attribute>
     <xsl:value-of select="@Title"/>      
     </a>
     <xsl:apply-templates/>
    </li>
    </xsl:for-each>
   </ul>

</xsl:template>
</xsl:stylesheet>

生成后通过JS解析:

loadXML("Menu.xml,"sitemenu.xsl");
function loadXML(XMLf,xslf)
 {

  try
  {
   var myXML=new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
   myXML.async=false;
   myXML.load(XMLf);

 

   var myxsl=new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
   myxsl.async=false; 
   myxsl.load(xslf);
   HTML=myXML.transformNode(myxsl);
   document.write(HTML);
   
  }
  catch (exception)
  {
   alert(exception.description);
  }
}

 

 

 

转载于:https://www.cnblogs.com/Sweetpig/archive/2008/09/28/1301551.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值