8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

在我删除根节点之前,XSLT 转换不起作用

Drdre01 2月前

16 0

我正在尝试使用 XSLT 从气象局网络服务中的以下 XML 中提取标题,但是我的 XSLT 选择返回空白。来源:

我正在尝试使用 XSLT 从气象局网络服务中的以下 XML 中提取标题,但我的 XSLT 选择返回空白。

来源:

<RegionalFcst xmlns="www.metoffice.gov.uk/xml/metoRegionalFcst" createdOn="2016-01-13T02:14:39" issuedAt="2016-01-13T04:00:00" regionId="se">
 <FcstPeriods>
  <Period id="day1to2">
   <Paragraph title="Headline:">Frosty start. Bright or sunny day.</Paragraph>
   <Paragraph title="Today:">A clear and frosty start in west, but cloudier in Kent with isolated showers. Then dry with sunny periods. Increasing cloud in west later will bring coastal showers with freshening southerly winds. Chilly inland, but less cold near coasts. Maximum Temperature 8C.</Paragraph>
  </Period>
 </FcstPeriods>
</RegionalFcst>

我的XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
   <xsl:value-of select="FcstPeriods/Period/Paragraph"/>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

我已将根目录更改为 /RegionalFcst 并尝试进行其他类似的更改,例如在 FcstPeriods 之前添加前导斜杠,但没有任何效果,直到我从源 XML 中删除第一行和最后一行 - 然后它才能完美运行。

这在测试中是没问题的,但我当然想使用气象局提供的网络服务,这就是他们呈现它的方式。

有什么想法吗?

帖子版权声明 1、本帖标题:在我删除根节点之前,XSLT 转换不起作用
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Drdre01在本站《xml》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 除了“michael.hor257k”的答案之外,还有另一种解决方案,针对 XSLT 2.0 版本。

    XSLT 2.0

    使用 xpath-default-namespace 属性。对于上面的例子,它看起来像这样:

    <xsl:stylesheet xpath-default-namespace="www.metoffice.gov.uk/xml/metoRegionalFcst" ... >
    

    那么您不需要在 XPath 引用的每个元素中重复命名空间前缀:

    <xsl:value-of select="FcstPeriods/Period/Paragraph"/>
    

    而不是

    <xsl:value-of select="met:FcstPeriods/met:Period/met:Paragraph"/>
    
返回
作者最近主题: