gpt4 book ai didi

xslt - 使用 XPath 的 XSLT 查询

转载 作者:行者123 更新时间:2023-12-02 11:45:07 24 4
gpt4 key购买 nike

输入 XML:

<?xml version="1.0" encoding="UTF-8"?>
<countries>
<country name="Afghanistan" population="22664136" area="647500">
<language percentage="11">Turkic</language>
<language percentage="35">Pashtu</language>
<language percentage="50">Afghan Persian</language>
</country>
<country name="Albania" population="3249136" area="28750"/>
<country name="Algeria" population="29183032" area="2381740">
<city>
<name>Algiers</name>
<population>1507241</population>
</city>
</country>
<country name="American Samoa" population="59566" area="199"/>
<country name="Andorra" population="72766" area="450"/>
<country name="Angola" population="10342899" area="1246700"/>
<country name="Anguilla" population="10424" area="91">
<language percentage="100">English</language>
</country>
<country name="Antigua and Barbuda" population="65647" area="440">
<language percentage="100">English</language>
</country>
.....

您好,首先通过这个 XSLT,我想获取语言以“ian”结尾的国家/地区的名称(例如俄语...),所以我有这个 XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:template match="/">
<countries>
<xsl:for-each select="countries/country[substring('language', 3) = 'ian']">
<country>
<nom><xsl:value-of select="@name"/></nom>
<idiomes>
<xsl:value-of select="language"/>
</idiomes>
</country>
</xsl:for-each>
</countries>
</xsl:template>
</xsl:stylesheet>

有人可以帮我吗..

最佳答案

尝试使用下面的 XPath 来获取 country 节点,其 language 结尾为 "ian":

countries/country[language[substring(., string-length(.) - 2)="ian"]]

一些说明:

language[substring(., string-length(.) - 2)="ian"] 谓词表示 language 文本内容最后 3 个字符是等于“ian”

string-length(.) - 2 表示从语言长度 - 2 开始计算字符

例如,如果language内容为"Pashtu"(6个字符长度),则string-length(.) - 26 - 2 = 4 因此我们应该从索引 4 开始,即 "h" (请注意,在 XPath 中第一个索引是 1,但不是0)。从索引 4 开始,我们的子字符串将为 "htu"“htu”!=“ian”

关于xslt - 使用 XPath 的 XSLT 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49445905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com