如何使用xsl转换此xml文件

时间:2013-06-08 03:57:02

标签: xml xml-parsing xslt-2.0

我的老板给了我一个xml文件。之后告诉我,使用java servlet或任何可以将xml文件转换为html的东西。我找到了一些关于处理XML和xsl的信息。 用一些简单的例子。我的代码可以运行并有一个输出文件(html)。但是使用这个文件,我无法获得元素的价值。

这是我的xml文件

<OMeS>
  <PMSetup  startTime="2013-05-14T23:00:00.000+07:00:00" interval="60">
    <PMMOResult>
      <MO>
        <DN><![CDATA[PLMN-PLMN/RNC-14]]></DN>
      </MO>
      <MO>
        <DN><![CDATA[PLMN-PLMN/HOS-14/SCID-51321]]></DN>
      </MO>
      <MO>
        <DN><![CDATA[PLMN-PLMN/MCC-452/MNC-1]]></DN>
      </MO>
      <MO>
        <DN><![CDATA[PLMN-PLMN/LAC-20180/CI-51393]]></DN>
      </MO>
      <MO>
        <DN><![CDATA[PLMN-PLMN/MCC-452/MNC-1]]></DN>
      </MO>
      <PMTarget  measurementType="AutoDef_ISHO_v2">
        <M1015C0>21</M1015C0>
        <M1015C1>21</M1015C1>
        <M1015C2>6927</M1015C2>
        <M1015C3>224</M1015C3>
        <M1015C4>45890</M1015C4>
        <M1015C5>25</M1015C5>
      </PMTarget>
    </PMMOResult>
    <PMMOResult>
      <MO>
        <DN><![CDATA[PLMN-PLMN/RNC-14]]></DN>
      </MO>
      <MO>
        <DN><![CDATA[PLMN-PLMN/HOS-14/SCID-51393]]></DN>
      </MO>
      <MO>
        <DN><![CDATA[PLMN-PLMN/MCC-452/MNC-1]]></DN>
      </MO>
      <MO>
        <DN><![CDATA[PLMN-PLMN/LAC-20180/CI-51393]]></DN>
      </MO>
      <MO>
        <DN><![CDATA[PLMN-PLMN/MCC-452/MNC-1]]></DN>
      </MO>
      <PMTarget  measurementType="AutoDef_ISHO_v2">
        <M1015C0>29</M1015C0>
        <M1015C1>29</M1015C1>
        <M1015C2>8385</M1015C2>
        <M1015C3>239</M1015C3>
        <M1015C4>62130</M1015C4>
        <M1015C5>37</M1015C5>
      </PMTarget>
    </PMMOResult>



  </PMSetup>
</OMeS>

这是我的xsl文件

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
  <h2>My data</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>MO</th>
      </tr>
      <xsl:for-each select="OMeS/PMSetup/PMMOResult">
      <tr>
        <td>
                    <xsl:value-of select="MO/DN"/>
        </td>
      </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

我使用java servlet将这个xml转换为html。所以,它没有显示任何东西。请帮我 ! 我可以学习xsl的任何啧啧吗?

1 个答案:

答案 0 :(得分:0)

当我将缺少的xsl:stylesheet开始标记添加到您的代码

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

它运行得很好。

如果这确实是您的错误,那么您需要查看如何运行代码以确保下次出现一个简单的错误时,您可以在某个地方显示诊断信息。通常我会在某些IDE或命令行环境中调试样式表,而不是“原位”作为servlet。