使用.NET XslCompiledTransform类通过Xslt将Xml转换为有效的Html片段

时间:2011-06-29 19:29:36

标签: c# .net html xml xslt

我试图在.NET类库中使用XslCompiledTransform,以便将xml字符串转换为Html字符串。请考虑我想使用普通字符串,而不是文件。

我是怎么做到的?

似乎XslCompiledTransform仅适用于文件......

2 个答案:

答案 0 :(得分:4)

Load()也接受XmlReaderTransform()接受XmlReader输入和XmlWriterTextWriter和{{1}的大多数组合作为输出。

最常见的情况是,您可以使用Stream作为输出,并使用StringWriter创建XmlReader作为输入。

完整示例,没有文件:

StringReader

答案 1 :(得分:0)

我以字符串的形式使用xslt和xml, 这是在同一个.aspx页面上生成的, 然后使用StringWriter将其转换为html, 使用文字控件来显示html,将Stringwriter数据绑定到它。

string xslt =“在这里添加xslt的代码”; //查找任何普通的xslt文件。

string xml =“在这里添加xml代码”; //查找任何普通的xml文件。

        XslCompiledTransform transform = new XslCompiledTransform();

        StringReader sr = new StringReader(xslt);

        XmlReader xr = XmlReader.Create(sr);

        transform.Load(xr);


        StringReader srxml = new StringReader(xml);

        XmlReader xrxml = XmlReader.Create(srxml);

        StringWriter writer = new StringWriter();

        transform.Transform(xrxml, null, writer);

        Literal1.Text = writer.ToString();

        writer.Close();