如何组合多个xml并为组合的XML准备XSLT 以上是一个XML的XSLT
Posted
技术标签:
【中文标题】如何组合多个xml并为组合的XML准备XSLT 以上是一个XML的XSLT【英文标题】:How to combine multiple xml and prepare XSLT for the combined XML The above is the XSLT for one XML 【发布时间】:2021-10-31 18:27:27 【问题描述】:如何组合多个 XML 并为组合的 XML 准备 XSLT? 我尝试将多个 XML 合并为一个,并尝试为该 XML 准备 XSLT 转换。以上是一个 XML 的 XSLT。需要为组合的 XML 准备 XSLT。
XML-1
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
</cd>
</catalog>
XML-2
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<cd>
<title>Empire Burlesque-1</title>
<artist>Bob Dylan-1</artist>
</cd>
</catalog>
XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th style="text-align:left">Details</th>
<th style="text-align:left">XML-1</th>
</tr>
<tr>
<xsl:for-each select="catalog/cd">
<td>Title</td>
<td><xsl:value-of select="title"/></td>
</xsl:for-each>
</tr>
<tr>
<xsl:for-each select="catalog/cd">
<td>Artist</td>
<td><xsl:value-of select="artist"/></td>
</xsl:for-each>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
The above is the XSLT for one XML. Need to prepare XSLT for the combined XML
[1]: https://i.stack.imgur.com/g8ce7.jpg
【问题讨论】:
向我们展示两个 XML 输入的小而有代表性的样本,XSLT 用于单个文件,以及您想要的两个样本的输出。还要说明您使用的 XSLT 版本和/或 XSLT 处理器。 @MartinHonnen XML-1将<xsl:for-each select="catalog/cd">
更改为例如<xsl:for-each select="catalog/cd | document('XML-2.xml')/catalog/cd">
,同时处理第二个文档。
【讨论】:
如何合并多个xml? 如图所示,通过使用document
函数加载辅助输入文档。以上是关于如何组合多个xml并为组合的XML准备XSLT 以上是一个XML的XSLT的主要内容,如果未能解决你的问题,请参考以下文章
使用 XSLT 组合具有相同 ID 及其值的节点 (XML)
使用 XSLT 将 XML 转换为 CSV,用于在单个标记中以空格分隔的多个记录
如何使用 XSLT 复制 XML 以生成相同形式的另一个新 XML