我有一个简单的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
由于该行只有一个“名称”,如何将字符串拆分为两个表,分为“&gt;? 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文件中引用目录,我没有。
答案 0 :(得分:1)
要回答您更新的问题:
您的每个循环应选择每个路径元素。像这样:
<xsl:for-each select="//route">
路由名称和路由的正确xPath应如下所示:
<tr>
<td><xsl:value-of select="./@name"/></td>
<td><xsl:value-of select="./text()"/></td>
</tr>
这当然假设您有这样的输入:
<?xml version="1.0" encoding="utf-8"?>
<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>