从Xslt中的嵌入代码中获取Xml

时间:2012-11-14 12:46:15

标签: c# xml xslt xml-serialization

我想用Xslt文件转换我的Xml。我是否可以使用C#访问使用Xslt在嵌入式代码段中进行转换的Xml。

<![CDATA[
    public string GetSomething(string path)
    {
        // Get the whole Xml that is transforming
        // And do something with it    
        // return result
    }
]]>

<xsl:value-of select ="GetSomething(courier:_appointment)"/>

有可能吗?

提前致谢,

1 个答案:

答案 0 :(得分:2)

在xslt中通过<msxsl:script>进行了一些脚本支持,但是:使用扩展对象可能更好。基本上,你编写一个常规的C#对象(虽然你需要将它标记为COM可调用,IIRC),并通过XsltArgumentList添加它,特别是AddExtensionObject - 并在此过程中将其与特定的瓮。然后你的xslt为url声明一个xml名称空间别名(即xmlns:myExtension="blah blah"),并在代码中使用myExtension:someMethod(...)

MSDN上有一个完整的例子。