gpt4 book ai didi

xml - 数据库的 XSL 转换结果为 XML

转载 作者:搜寻专家 更新时间:2023-10-30 23:15:00 24 4
gpt4 key购买 nike

我收到了数据库查询结果的 XML 格式,需要应用 XSL 将 XML 转换为 HTML 表格格式。我是 XSLT 的新手,经过大量搜索,我似乎找不到与我的 XML 格式匹配的好示例。

我的 XML 看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<B1j:jdbcQueryResult xmlns:B1j="http://ns.b1tech.com/2012/08/jdbc-query-result">
<B1j:row>
<B1j:col name="response_size" type="java.lang.Integer">128837</B1j:col>
<B1j:col name="groupname" type="java.lang.String">AAA</B1j:col>
<B1j:col name="count_total" type="java.lang.Integer">1</B1j:col>
<B1j:col name="count_error" type="java.lang.Integer">0</B1j:col>
<B1j:col name="timestamp" type="java.lang.Long">1363654726298</B1j:col>
<B1j:col name="count_success" type="java.lang.Integer">1</B1j:col>
</B1j:row>
<B1j:row>
<B1j:col name="response_size" type="java.lang.Integer">128837</B1j:col>
<B1j:col name="groupname" type="java.lang.String">BBB</B1j:col>
<B1j:col name="count_total" type="java.lang.Integer">1</B1j:col>
<B1j:col name="count_error" type="java.lang.Integer">0</B1j:col>
<B1j:col name="timestamp" type="java.lang.Long">1363654757598</B1j:col>
<B1j:col name="count_success" type="java.lang.Integer">1</B1j:col>
</B1j:row>
</B1j:jdbcQueryResult>

任何人都可以帮助我确定我的 XSLT 模板应该是什么样子,以便从这个 XML 中精确列名和值并将其放入基本的 HTML 表中?

提前致谢!

最佳答案

怎么样:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:B1j="http://ns.b1tech.com/2012/08/jdbc-query-result"
exclude-result-prefixes="B1j"
>
<xsl:output method="html" omit-xml-declaration="yes" />

<xsl:template match="/*[B1j:row]">
<table>
<tr>
<xsl:apply-templates select="B1j:row[1]/B1j:col" mode="header" />
</tr>

<xsl:apply-templates select="B1j:row" />
</table>
</xsl:template>

<xsl:template match="B1j:col" mode="header">
<th>
<xsl:value-of select="@name"/>
</th>
</xsl:template>

<xsl:template match="B1j:row">
<tr>
<xsl:apply-templates select="B1j:col" />
</tr>
</xsl:template>

<xsl:template match="B1j:col">
<td>
<xsl:apply-templates />
</td>
</xsl:template>
</xsl:stylesheet>

在您的样本输入上运行时,会产生:

<table>
<tr>
<th>response_size</th>
<th>groupname</th>
<th>count_total</th>
<th>count_error</th>
<th>timestamp</th>
<th>count_success</th>
</tr>
<tr>
<td>128837</td>
<td>AAA</td>
<td>1</td>
<td>0</td>
<td>1363654726298</td>
<td>1</td>
</tr>
<tr>
<td>128837</td>
<td>BBB</td>
<td>1</td>
<td>0</td>
<td>1363654757598</td>
<td>1</td>
</tr>
</table>

关于xml - 数据库的 XSL 转换结果为 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15490536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com