【发布时间】:2013-11-13 17:18:17
【问题描述】:
我有一个只有一个值的简单 xml 文件(稍后会更长),
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="cr.xsl"?>
<companyroutes>
<route name="EKCHLOWI">SALLO UM44 KOGIM UM725 BESKO UZ36 MAREM UT106 VESUB T106 NETES T700 DEGIN UP31 DOSEL</route>
<route name="ENGMEDDF">ENGM TOR P615 LBE N850 PIROT T152 KERAX EDDF</route>
</companyroutes>
我需要通过 xslt 将其转换为网页上的表格,但我需要将输出显示为:
**EKCHLOWI** SALLO UM44 KOGIM UM725 BESKO UZ36 MAREM UT106 VESUB T106 NETES T700 DEGIN UP31 DOSEL
由于该行只有一个“名称”,我如何将字符串拆分为两个表,分别在 "> ? cr.xsl 会是什么样子?
xml 被第三部分软件使用,所以我无法操作它,因为如果我更改语法格式它将无法工作。
我无法将<catalog> 插入 xml 文件或将数据拆分为
...我是个新手...
编辑: html 应该如下所示:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>BBL - CompanyRoutes</h2>
<table border="1">
<tr>
<th>Route Name</th>
<th>Route</th>
</tr>
<xsl:for-each select="????">
<tr>
<td><xsl:value-of select="Route Name"/></td>
<td><xsl:value-of select="Route"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
...在示例之后为:http://www.w3schools.com/xsl/xsl_transformation.asp
请注意,我只有 ????我应该在哪里引用 .xml 文件中的目录,但我没有。
【问题讨论】:
-
我想我不明白这个问题。您可以使用这样的 xPath 获取属性值:
/route@name以及可以使用此 xPath/route/text()获取的文本节点的值。如果您随后创建了一个<xsl:for-each select='//route'>循环并使用xPath@name和text()检索值,那么您应该拥有所需的一切。 -
是否可以显示您希望输出的实际 HTML 代码?目前,您提到了一个“表”,但看起来您只是希望将其作为单个字符串输出。另外,您可以使用 XSLT 2.0,还是只使用 XSLT 1.0?