我想用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)"/>
有可能吗?
提前致谢,
答案 0 :(得分:2)
在xslt中通过<msxsl:script>
进行了一些脚本支持,但是:使用扩展对象可能更好。基本上,你编写一个常规的C#对象(虽然你需要将它标记为COM可调用,IIRC),并通过XsltArgumentList
添加它,特别是AddExtensionObject
- 并在此过程中将其与特定的瓮。然后你的xslt为url声明一个xml名称空间别名(即xmlns:myExtension="blah blah"
),并在代码中使用myExtension:someMethod(...)
。
MSDN上有一个完整的例子。