xsltを使用してxmlからhtmlリスト()を作成したいと思います。私はxmlファイルとxsltファイルでそうすることができました。ここで、xml文字列またはXmlDocumentとxsltファイルを使用してこれを実行します。
これは私の現在のコードです:
private String toHTML(XmlDocument xmlDocument)
{
System.IO.StringWriter sw = new System.IO.StringWriter();
XslCompiledTransform xslTrans = new XslCompiledTransform();
xslTrans.Load(Server.MapPath("Xslt/Permisos.xslt"));
xslTrans.Transform(xmlDocument.CreateNavigator(), new XsltArgumentList(), sw);
return sw.ToString();
}
これは、単一のWebアプリケーションアセンブリ上にあります。例外はスローされません。「」を返すだけです。
私のXSLT
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="menus">
<ul>
<xsl:for-each select="menu">
<li>
<a href="{url}">
<xsl:value-of select="nombre" />
</a>
<ul>
<xsl:for-each select="submenu">
<li>
<a href="{url}">
<xsl:value-of select="nombre" />
</a>
</li>
</xsl:for-each>
</ul>
</li>
</xsl:for-each>
</ul>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
MY XML
<?xml version="1.0" encoding="UTF-8"?><menus xmlns="http://www.xxxxx.com"><menu><nombre>Main</nombre><url>#</url><submenu><nombre>Sub</nombre><url>#</url></submenu><submenu><nombre>Sub</nombre><url>#</url></submenu><submenu><nombre>Sub</nombre><url>#</url></submenu><submenu><nombre>Sub</nombre><url>#</url></submenu><submenu><nombre>Sub</nombre><url>#</url></submenu><submenu><nombre>Sub</nombre><url>#</url></submenu><submenu><nombre>Sub</nombre><url>#</url></submenu><submenu><nombre>Sub</nombre><url>#</url></submenu><submenu><nombre>Sub</nombre><url>#</url></submenu><submenu><nombre>Sub</nombre><url>#</url></submenu></menu></menus>
ありがとう!