3

我有一个只有一个值的简单 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 文件中的目录,但我没有。

4

1 回答 1

1

要回答您更新的问题:

您的 for each 循环应该选择每个路由元素。像这样:

<xsl:for-each select="//route">

路由名称和路由的正确 xPaths 应该是这样的:

<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>
于 2013-11-13T09:18:17.290 回答