我已經熟悉將輸入參數傳遞給XSLT CompiledTransformation類,以便解析器負責在XSL文件中提供的處理指令中使用Param的XSL文件。來自XSLT的輸出參數
有沒有一種方法可以將get output param
(說節點或別的東西的值)從XSLT轉換爲C#等主機語言?
XslCompiledTransform xslTransform = new XslCompiledTransform();
string strXmlOutput = string.Empty;
StringWriter swXmlOutput = null;
MemoryStream objMemoryStream = null;
XPathDocument xpathXmlOrig = new XPathDocument(string_xmlInput);
swXmlOutput = new StringWriter();
objMemoryStream = new MemoryStream();
xslArg.AddParam("TESTING", "", SomeVar);
XsltSettings xslsettings = new XsltSettings(false, true);
xslTransform.Load(string_xslInput, xslsettings, new XmlUrlResolver());
xslTransform.Transform(xpathXmlOrig, xslArg, objMemoryStream);
此代碼確實輸出轉換XML,但我的問題是,我們可以舉一個值從XSL穿越 - (XSLT文件)輸出參數?
事情是這樣的:
xslArg.OutputParam("testing"); //Something like this?
........
........
xslTransform.Transform(xpathXmlOrig, xslArg, objMemoryStream);
string outputparam = xslArg.GetParam("testing"); //ideal way of getting param after traformation!
不XSLT這樣的事情提供了範圍?
我認爲這是不可能的。也許你可以使用擴展類來調用你自己的邏輯來從xslt傳遞值,但它似乎不是一個正確的方法。爲什麼不能解析結果xslt? –
XSLT是一種*功能語言*。除此之外,這意味着XSLT不能/不會修改'xsl:variable'或'xsl:param'。對於一種方法來做你想看看這裏:http://www.xml.com/pub/a/2003/08/06/exslt.html –
@DimitreNovatchev,你好,它不需要修改任何參數!我期待XSLT有一些輸出參數或屬性,XSL可以與主機程序進行通信!順便說一句,Flynn提到關於''!我會嘗試這一點,並返回結果..感謝您的迴應! :) –
Enthusiastic