使用 XSLT 在网站中包含天气预报
我想将天气预报添加到 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用:
这是一个完整且非常简短的 XSLT 转换:
当应用于任何文档(未使用)时,转换动态获取位于 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:
Here is a complete and really short XSLT transformation:
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)
一个简单的 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.