【问题标题】:What's the best way to apply an XSL transform to an XElement?将 XSL 转换应用于 XElement 的最佳方式是什么?
【发布时间】:2011-09-12 01:11:51
【问题描述】:

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

一定有更好的办法。

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

【问题讨论】:

  • 附加问题的答案是ex.CreateNavigator() - 负责设计该课程的人做得很好。
  • @_George Mauer:我在回答中提到的 Extensions 中的三种方法呢?
  • 哦,更好的是,我没见过。

标签: .net xml xslt


【解决方案1】:

为什么不使用

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

其中 xelement XElementxslt XslCompiledTransformarglist 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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 2016-05-29
    • 2012-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多