我对VBScript和XSL的操作都是全新的,但是我需要在这些文件上做一些工作......所以有可能这些都不可能,或者我误解了当前代码的工作方式,或者其他什么。将数据从VBScript传递到XSL
但是从我收集的内容来看,目前有一个XSL文件,它将XML文件中的新闻文章列表转换为有效的HTML文件。它也限制了数量,所以它只显示三篇文章。它使用<xsl:if test="position() < ($NumberOfArticles + 1)">htmlgoeshere</xsl:if>
这样做,其中$NumberOfArticles
在前面定义为<xsl:param name="NumberOfArticles" select="3" />
。
这XSL是使用下面的VBScript叫:
Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
Call xmlhttp.Open("GET", url, False)
Call xmlhttp.send
set feedxml = Server.CreateObject("Microsoft.XMLDOM")
feedxml.async = false
feedxml.load(xmlhttp.ResponseBody)
set feedxsl = Server.CreateObject("Microsoft.XMLDOM")
feedxsl.async = false
feedxsl.load(Server.MapPath("xsl/" & stylesheet))
FeedContent = feedxml.transformNode(feedxsl)
其中url
是XML文件的URL和stylesheet
是XSL文件的文件名。
我也有一个名为NumberOfArticles
的VBScript变量,它依赖于用户输入。有没有办法将这个变量传入XSL文件,以便它将$NumberOfArticles
设置为它,而不是硬编码为3
?那么用户可以决定更多还是更少显示?
查看https://msdn.microsoft.com/en-us/library/ms762312(v=vs.85).aspx,它向您展示了如何使用“addParameter”方法。这个例子是在jscript中,而不是vbscript,但它不应该太难转换它。 –