[英]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();
谢谢!!
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.