当我们不知道他们的名字时如何获取子节点

时间:2013-04-08 17:23:40

标签: xslt xpath

我必须处理我不知道节点名称的XML文件。我所知道的是,不同文件之间的结构是相同的

结构将是上述

<root>
    <node1>
        <node2>
        </node2>
    </node2>
</root>

我必须制作一个XSLT文件,用于构建一个显示节点内容的HTML页面。

现在我有这段代码

<xsl:template match="/">
<html>
  <head>
    <link rel="stylesheet" type="text/css" href="employe.css"/>
  </head>
  <body>
    <table>
      <tr>
        <th>ID Source</th>
        <th>Nom</th>
        <th>Prénom</th>
        <th>Age</th>
        <th>Adresse</th>
        <th>Code Postal</th>
        <th>Ville</th>
        <th>Telephone</th>
        <th>Poste</th>
      </tr>
      <xsl:apply-templates/>
    </table>
  </body>
</html>
</xsl:template>

<xsl:template match="child::*">
    <tr>
        <xsl:apply-templates/>
    </tr>
</xsl:template>

<xsl:template match="">
    <td>
        <xsl:value-of select="."/>
    </td>
</xsl:template>

我成功选择了第一级和第二级节点,但不知道如何选择第三级节点。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

您可以尝试将match="/"更改为match="/*"并添加以下两个模板:

<xsl:template match="*[*]">
    <tr>
        <xsl:apply-templates/>
    </tr>
</xsl:template>

<xsl:template match="*[not(*)]">
    <td><xsl:value-of select="."/></td>
</xsl:template>