使用 XML 和 XSLT 生成 SQL

2024-04-18

我有一个 XML 定义,其中包含一个带有子元素的元素。例如:

<a>
 <b>
  <c>C</c>
  <d>D</d>
 </b>
</a>

我有一个带有文本输出的 XSLT。例如:

<xsl...>
  <xsl:output method="text" indent="yes"/>
  <xsl:template match="/">
    <xsl:copy-of select="/a/b" />
  ...

我想将整个 b 元素及其子元素复制到删除了空格的字符串中,以便可以生成 SQL 查询。例如:

select * from some-table where xml = '<b><c>C</c><d>D</d></b>'

目前,copy-of 正在查找 b 元素,但删除所有元素和属性信息,只留下每个元素中的文本内容。我认为这可能与输出类型有关。

有任何想法吗?


你的 SQL 语句让我害怕。 XML 区分大小写,如果输入 XML 和 XSLT(包括所有元素、属性和值)的大小写与原始数据库插入中使用的大小写不完全相同,则比较可能会失败。

我相信 Oracle(某些)和 SQL Server(这么认为)都具有以更 XML 友好的方式(例如,使用 XPath)对包含 XML 的列进行查询的机制。

你到底想做什么?您的问题似乎比正确转换此 XSLT 更深入。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 XML 和 XSLT 生成 SQL 的相关文章

随机推荐