将XSL转换应用于XElement的最佳方法是什么?

时间:2011-09-12 01:11:52

标签: .net xml xslt

我有一个通过XElement.Parse()加载的文档,我需要对它应用XSL转换。我该怎么做呢?我知道要做的唯一方法是使用XPathDocument,我知道无法在XElement-> String-> StringReader-> Stream-> XPathDocument以外的两者之间进行转换。

必须有更好的方法。

在相关问题中,将XPath应用于XElement的最佳方法是什么?

1 个答案:

答案 0 :(得分:5)

为何不使用

xslt.Transform(xelement.CreateReader(), arglist, someTextWriter);

其中 xelement XElement xslt XslCompiledTransform arglist XsltArgumentList someTextWriter TextWriter

换句话说,请使用此实例方法 XElement.CreateReader()

或者,您可以使用:

xslt.Transform(xelement.CreateNavigator(null), someXmlWriter);

详细了解 CreateNavigator() 扩展方法herehere

最后一个MSDN链接包含XSLT转换的完整代码示例。

更新:提出了另外一个问题:

  

在一个相关问题中,将XPath应用于的最佳方法是什么?   XElement

有多种方法可以评估XNode

上的XPath表达式

<强> Extensions.XPathEvaluate()

Extensions.XPathSelectElements()

Extensions.XPathSelectElement()