我正在尝试在C#应用程序中生成以下XSL块。任何人都可以告诉我该怎么做?
<XSL-Script xmlns:xsl="http://www.w3.org/......">
<xsl:value-of select="$VAR">
</XSL-Script>
我尝试使用常规的C#XML类,并从标记名称中删除了xsl:,因为它认为xsl:是命名空间。并且它也不允许在VAR前面使用“$”作为“select”的属性值。
非常感谢。
答案 0 :(得分:1)
这是一个简单的C#程序,它“生成”一个完整的XSLT样式表,然后对“生成的”XML文档执行此转换,并将转换结果输出到文件中:
using System.IO;
using System.Xml;
using System.Xml.Xsl;
class testTransform
{
static void Main(string[] args)
{
string xslt =
@"<xsl:stylesheet version='1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:variable name='vX' select='1'/>
<xsl:template match='/'>
<xsl:value-of select='$vX'/>
</xsl:template>
</xsl:stylesheet>";
string xml = @"<t/>";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xml);
XmlDocument xslDoc = new XmlDocument();
xslDoc.LoadXml(xslt);
XslCompiledTransform xslTrans = new XslCompiledTransform();
xslTrans.Load(xslDoc);
xslTrans.Transform(xmlDoc, null, new StreamWriter("output.txt"));
}
}
构建并执行此应用程序时,它会创建一个名为"output.txt"
的文件,其内容是动态生成的XSLT转换的预期正确结果:
<?xml version="1.0" encoding="utf-8"?>1