使用 XSLT 在网站中包含天气预报

发布于 2024-11-10 09:04:53 字数 664 浏览 0 评论 0原文

我想将天气预报添加到 ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.xml 到我的网站。

我想要包含的特定元素位于:

report/data/location/block

where block contains:

<field_id>Verwachting</field_id>

如何使用简单的 XSL 转换来执行此操作?

更新:

我有以下 XSL 转换,但没有结果:

<xsl:variable name="weerknmi" select="document('ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.xml')/report/data/location"/>
<xsl:value-of select="$weerknmi/block[field_id = 'Verwachting']/field_content"/>

I want to include the weather report at ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.xml to my website.

The specific element I want to include is located at:

report/data/location/block

where block contains:

<field_id>Verwachting</field_id>

How do I do this using simple XSL Transformations?

Update:

I have the following XSL Transformation however it has no results:

<xsl:variable name="weerknmi" select="document('ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.xml')/report/data/location"/>
<xsl:value-of select="$weerknmi/block[field_id = 'Verwachting']/field_content"/>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寄人书 2024-11-17 09:04:53

使用

report/data/location/block[field_id='Verwachting']/field_content

这是一个完整且非常简短的 XSLT 转换

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:variable name="vDoc" select=
 "document('ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.xml')"/>

 <xsl:template match="/">
  <xsl:apply-templates select="$vDoc" mode="doc"/>
 </xsl:template>  

 <xsl:template match="/" mode="doc">
     <xsl:value-of select=
      "report/data/location/block[field_id='Verwachting']/field_content"/>
 </xsl:template>
</xsl:stylesheet>

当应用于任何文档(未使用)时,转换动态获取位于 ar ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.xml, <强>处理它并产生想要的结果:

Vrij veel bewolking en vooral in het noorden af en toe regen of motregen。 In het zuiden blijft het overwegend droog.中温循环 14 级在 het Waddengebied 到 19 级在 het zuidoosten。 De zuidwestelijke 风是 matig tot vrij krachtig。 Aan de kust 是硬风的 krachtig,6 到 7。

Komende nacht 是在 het noorden en midden mogelijk nog lichte Regen 遇到的令人惊叹的夜晚。最低温度 11. De zuidwestelijke Wind neemt af naar zwak tot matig, rond kracht 3. Aan de kust is de Wind af en toe vrij krachtig, 5.

Morgen overdag breekt op steeds meer plaatsen de zon Door en is het Vrijwel 总体上很糟糕。中温环路 uiteen van een graad 16 in het noordwestelijk kustgebied tot 23 graden in het zuidoosten。 De zuidwestelijke Wind Trekt weer aan en wordt matig tot vrij krachtig, kracht 4 of 5, aan de kust en op het IJsselmeer krachtig tot Hard, 6 of 7 Bft. '' Avonds neemt de 风 af。 (布朗:KNMI)

Use:

report/data/location/block[field_id='Verwachting']/field_content

Here is a complete and really short XSLT transformation:

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:variable name="vDoc" select=
 "document('ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.xml')"/>

 <xsl:template match="/">
  <xsl:apply-templates select="$vDoc" mode="doc"/>
 </xsl:template>  

 <xsl:template match="/" mode="doc">
     <xsl:value-of select=
      "report/data/location/block[field_id='Verwachting']/field_content"/>
 </xsl:template>
</xsl:stylesheet>

when applied to any document (not used), the transformation dynamically obtains the XML document located ar ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.xml, processes it and the wanted result is produced:

Vrij veel bewolking en vooral in het noorden af en toe regen of motregen. In het zuiden blijft het overwegend droog. De middagtemperatuur loopt uiteen van een graad of 14 in het Waddengebied tot 19 graden in het zuidoosten. De zuidwestelijke wind is matig tot vrij krachtig. Aan de kust is de wind krachtig of hard, 6 tot 7.

Komende nacht is er vrij veel bewolking met in het noorden en midden mogelijk nog lichte regen. De minimumtemperatuur ligt rond een graad of 11. De zuidwestelijke wind neemt af naar zwak tot matig, rond kracht 3. Aan de kust is de wind af en toe vrij krachtig, 5.

Morgen overdag breekt op steeds meer plaatsen de zon door en is het vrijwel overal droog. De middagtemperatuur loopt uiteen van een graad of 16 in het noordwestelijk kustgebied tot 23 graden in het zuidoosten. De zuidwestelijke wind trekt weer aan en wordt matig tot vrij krachtig, kracht 4 of 5, aan de kust en op het IJsselmeer krachtig tot hard, 6 of 7 Bft. ’s Avonds neemt de wind af. (Bron: KNMI)

谷夏 2024-11-17 09:04:53

一个简单的 XPath 表达式就可以做到这一点:

report/data/location/block[field_id = 'Verwachting']/field_content

如果您想在 XSLT 中使用它,您可以这样做:

< xsl:value-of select="文档('ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.xml')/report/data/location/block[field_id = 'Verwachting']/field_content" />< /code>

我的语法可能略有错误,我不经常使用 document() 并且目前无法轻松检查它,但你明白了。

A simple XPath expression will do this:

report/data/location/block[field_id = 'Verwachting']/field_content

If you want to use this in XSLT, you can just do:

<xsl:value-of select="document('ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.xml')/report/data/location/block[field_id = 'Verwachting']/field_content" />

I might have the syntax slightly wrong, I don't often use document() and I can't easily check it at the moment, but you get the idea.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文