[英]xml to html conversion using xslt is not working
这是我的 Xml
<document>
<metadata>
<title>Sign in to my account</title>
</metadata>
<topic>
<conceptuldocument>
<legacybold> Hi hello world </legacybold>
</conceptuldocument>
</topic>
我只需要元数据数据标签下的标题
我只需要<h1> sign in to my account</h1>
但我将 html 作为
<h1>sign in to my account</h1>Hi hello world
这是我的 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:choose>
<xsl:when test="metadata">
<xsl:apply-templates select="metadata"/>
</xsl:when>
</xsl:choose>
</xsl:template>
<xsl:template match="metadata">
<h1>
<xsl:value-of select="title"/>
</h1>
</xsl:template>
</xsl:stylesheet>
C#:
using (StringWriter sw = new StringWriter())
{
transform.Transform(xmldocument.DocumentElement,null, sw);
string html = sw.ToString();
}
想知道是否有人可以帮助我指出我在这里缺少什么,这是 xslt 的新手,它刚刚过去了一天。
最简单的解决方法是将您的条目模板更改为
<xsl:template match="/">
<xsl:apply-templates select="document/metadata"/>
</xsl:template>
请注意,围绕xsl:apply-templates
的xsl:choose
是一种空间浪费。 如果该元素不存在, xsl:apply-templates
将不执行任何操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.