xml - XSL:提取其他元素内容的值基
问题描述
我是 XSL 的新手……我不知道如何根据子元素的内容获取元素的内容。
XML 示例:
<main_caracs>
<Label/>
<Value>Essence, Hybride</Value>
</main_caracs>
<main_caracs>
<Label/>
<Value>Traction avant</Value>
</main_caracs>
<main_caracs>
<Label>Consommation sur route</Label>
<Value>8,4 litres aux 100 km</Value>
</main_caracs>
<main_caracs>
<Label>Consommation en ville</Label>
<Value>12,4 litres aux 100 km</Value>
</main_caracs>
我需要提取 /main_caracs/Label/Value 的文本,但前提是它的内容是“Consommation en ville”。
我尝试各种选择,等等......但不是运气。如果有人可以给我一些提示,将不胜感激。
谢谢!
解决方案
您的 XML 中需要一个根元素。我只是称它为 x:
<x>
<main_caracs>
<Label/>
<Value>Essence, Hybride</Value>
</main_caracs>
<main_caracs>
<Label/>
<Value>Traction avant</Value>
</main_caracs>
<main_caracs>
<Label>Consommation sur route</Label>
<Value>8,4 litres aux 100 km</Value>
</main_caracs>
<main_caracs>
<Label>Consommation en ville</Label>
<Value>12,4 litres aux 100 km</Value>
</main_caracs>
</x>
然后使用这个 XSL 进行转换:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<!-- get the Value of the main_caracs that has a Label that = 'Consommation en ville' -->
<xsl:value-of select="x/main_caracs[Label='Consommation en ville']/Value" />
</xsl:template>
</xsl:stylesheet>
推荐阅读
- discord - 检查图像是否存在到 .setImage 中嵌入
- lightbox - 在移动设备上将部分移动到模态
- reactjs - Kendo React Grid:重新排序列并保存新顺序
- reactjs - 使用 react 和 express 删除 sqlite DB 中的单行
- regex - 用于 HH:mm 格式的正则表达式,包括中间值
- asp.net-core - 找不到 ASP.NET Core Microsoft 身份验证回调页面页面
- gulp - Tailwind CSS + Gulp + PurgeCSS 删除代码中使用的一些类但编译其他类
- java - joda 时间与 java 时间的默认语言环境
- r - 如何仅在 geom_label_repel() 中更改文本颜色而不是线条颜色
- javascript - 使用 SQLite 反应原生博览会