0

似乎有大量与此主题相关的信息,但还没有帮助我:( eclipse) 并填充了一些信息。XML 文件看起来也不错。问题是我想在 Web 浏览器中显示这个 XML 文件(以便于阅读),我想我需要一个 xsl 样式表来做到这一点。无论如何我尝试了,我无法从我的 XML 文件中挖掘任何信息。我​​尝试了我在网上找到的各种命名空间类型的东西,但无济于事。有人可以帮我弄清楚如何编写 .xsl 代码来挖掘数据来自我的 .xml 文件?提前非常感谢。

下面以一个非常简单的 xml 文件为例:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="calibrationStylesheet.xsl"?>
<tns:calibration xmlns:tns="http://www.example.org/calibrationSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/calibrationSchema calibrationSchema.xsd ">
  <tns:Date>2013-07-16</tns:Date>
  <tns:Time>11:00:00</tns:Time>
  <tns:Temp>25.5</tns:Temp>
  <tns:hardware>
    <tns:NAnalyzers>4</tns:NAnalyzers>
    <tns:NGenerators>4</tns:NGenerators>
    <tns:NPorts>4</tns:NPorts>
    <tns:instr/>
  </tns:hardware>
  <tns:calGroup>
    <tns:calGroupType>Analysis</tns:calGroupType>
    <tns:pathLoss>
      <tns:pathName>PathName</tns:pathName>
    </tns:pathLoss>
  </tns:calGroup>
</tns:calibration>

这是 xsl 样式表。我只是以读出 Temp 为例,但希望能够读取所有数据。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" 
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
 xmlns:xs="http://wwwe.w3.org/2001/XMLSchema" 
 xmlns:tns="http://www.example.org/calibrationSchema" 
 xs:schemaLocation="http://www.example.org/calibrationSchema calibrationSchema.xsd ">

    <xsl:template match="/">
        <html>
        <body>
        Hello
        <xsl:value-of select="//tns:calibration/Temp"></xsl:value-of>
        After
        </body> 
        </html>

    </xsl:template>
</xsl:stylesheet>

我尝试了很多事情,这绝对是一团糟。我怎样才能解决这个问题?再次感谢。

4

1 回答 1

1

如果您有位于命名空间中的节点,则在引用其中任何一个时都需要使用命名空间前缀,而不仅仅是顶级节点:

<xsl:value-of select="tns:calibration/tns:Temp" />
于 2013-07-16T20:13:13.443 回答