我有一个数据库与我组成的某些表。我写了一个查询来从表中获取一些字段,并将这些获取的值存储在一些变量中。现在,我正在寻找一种方法,可以将从数据库中提取的值分配给XSL变量。我正在尝试使用提取的值生成HTML页面。我们可以使用从XSLT中的数据库表中获取的值吗?
有没有人知道如何实现它?
在此先感谢您提供任何帮助。
问候, 维杰
我有一个数据库与我组成的某些表。我写了一个查询来从表中获取一些字段,并将这些获取的值存储在一些变量中。现在,我正在寻找一种方法,可以将从数据库中提取的值分配给XSL变量。我正在尝试使用提取的值生成HTML页面。我们可以使用从XSLT中的数据库表中获取的值吗?
有没有人知道如何实现它?
在此先感谢您提供任何帮助。
问候, 维杰
您好@Vijay,
XSLT(可扩展样式表语言转换)是一个XML样式表,其在简单的术语意味着它用来获取来自数据XML文件。
您需要使用数据库中的结果生成XML文件/字符串,然后使用XSLT查询XML文件。
Umbraco是一个开源的CMS系统,正是这样做的。在每次发布内容时,它都会生成一个包含最新数据的XML文件,然后使用XSLT从该数据生成HTML页面。
从技术上讲,您可以将数据库表拖入DataSet中,然后可以从中创建一个可以运行XSLT的XML文件。
This post解释了如何做到这一点。
请在那里阅读并回复您可能遇到的任何问题。
感谢Marko。是的,XSLT是用于XML的,但我不确定它是否也适用于数据库。我现在的疑问很清楚。非常感谢你的帮助:) – 2010-10-31 07:10:01
XSLT 1.0和XSLT 2.0的W3c规范不提供执行RDBMS操作的功能。
某些处理器有扩展功能来执行此操作。
例如撒克逊具有以下extension elements:sql:connect
,sql:query
,sql:insert
,sql:column
,sql:update
,sql:delete
,并sql:close
谢谢Dimitre。可能是我应该试试这个。 – 2010-11-01 04:02:47
XSLT是XML的样式表,让您的数据真正需要的XML。 – Marko 2010-10-31 06:10:55
好问题,+1。有关XSLT处理器用于执行RDBMS操作的扩展的信息,请参阅我的答案。 – 2010-10-31 14:47:56
请注意,使用标准XSLT,您可以访问由URI引用的任何XML树(只要处理器知道该协议),例如:从数据库服务器到XQuery的REST响应。 – 2010-10-31 19:49:00