繁体   English   中英

如何在C#2.0中使用XSLT转换XMLDocument

[英]How to transform XMLDocument using XSLT in C# 2.0

我正在使用C#2.0,我有以下代码:

  XmlDocument doc = new XmlDocument();
  doc.LoadXml(GetListOfPagesInStructureGroup(m_Page.Id));

在上面我使用返回为字符串的方法加载我的XMLDocument,现在在上面的xmldocument上进行一些处理后,我想在上面的XMLDocument上应用XSLT来根据XSLT呈现我想要的结果,最后我的函数将整个呈现的XML作为字符串返回

请建议!!

请在下面解决方案建议:

        XslCompiledTransform xslTransform = new XslCompiledTransform();
        StringWriter writer = new StringWriter();          
        xslTransform.Load("xslt/RenderDestinationTabXML.xslt");
        xslTransform.Transform(doc.CreateNavigator(),null, writer);
        return writer.ToString();

谢谢!!

试试XslCompiledTransform类。

Web上有很多使用XSLT文件将XML文件转换为不同格式的示例,如下所示:

XslTransform myXslTransform = new XslTransform();
XsltSettings myXsltSettings = new XsltSettings();
myXsltSettings.EnableDocumentFunction = true;
myXslTransform.Load("transform.xsl");
myXslTransform.Transform("input.xml", "output.xml");

然而,这只是部分答案,我希望能够从Web表单获取XML输入数据并将其用作输入数据而不是'.xml'文件,但是没有找到任何具体示例,也使用Visual Studio我可以看到可用的不同构造函数和方法,我没有看到一个以字符串格式接受xml数据的构造函数和方法,所以如果有人可以提供一个例子,那将非常有用。

重新“我希望我的同一个XMlDocument更新” - 它不会像那样工作; 输出与输入分开。 如果这很重要,只需使用StringWriter或MemoryStream作为目标,然后从生成的输出重新加载XmlDocument

特别考虑:从XSLT转换的输出不一定是XML,也:在XSLT是最有可能使用的操作过程中的节点树; 在原地改变结构将使这非常困难。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM