gpt4 book ai didi

xml - 如何检查元素节点是否包含xsl中的特定值

转载 作者:数据小太阳 更新时间:2023-10-29 02:01:37 25 4
gpt4 key购买 nike

我有一个 XML 文档:

<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
<fruits>
<fruit id="1">
<title>I like pineapples</title>
<description> a tropical plant with edible multiple fruit consisting of coalesced berries</description>
</fruit>
<fruit id="2">
<title>I like watermelons</title>
<description>has a smooth exterior rind (green, yellow and sometimes white) and a juicy, sweet interior flesh</description>
</fruit>
</fruits>
</document>

如何检查 title 元素是否包含“pineapple”,以便我只能显示该特定 fruitdescription

这是我的 XSLT 转换:

<?xml version="1.0" encoding="iso-8859-1"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml" omit-xml-declaration="yes" doctype-public="-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
doctype-system="http://www.wapforum.org/DTD/xhtml-mobile10.dtd"/>
<xsl:template match="/">
<xsl:element name="html">
<xsl:element name="head">
<xsl:element name="title">Fruits</xsl:element>
</xsl:element>

<xsl:element name="body">
<xsl:if test="/document/fruits/fruit/title[contains(text(),'pineapple')]">
<xsl:value-of select="description"/>
</xsl:if>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

最佳答案

这里有一个稍微更加插入驱动的方法,可以完成您想要的。

当这个 XSLT:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output omit-xml-declaration="no" indent="yes"
doctype-public="-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
doctype-system="http://www.wapforum.org/DTD/xhtml-mobile10.dtd" />
<xsl:strip-space elements="*" />

<xsl:template match="/*">
<html>
<head>
<title>Fruits</title>
</head>
<body>
<xsl:apply-templates
select="fruits/fruit[contains(title, 'pineapple')]" />
</body>
</html>
</xsl:template>

<xsl:template match="fruit">
<xsl:apply-templates select="description" />
</xsl:template>
</xsl:stylesheet>

...应用于提供的 XML:

<?xml version="1.0" encoding="utf-8"?>
<document>
<fruits>
<fruit id="1">
<title>I like pineapples</title>
<description>a tropical plant with edible multiple fruit
consisting of coalesced berries</description>
</fruit>
<fruit id="2">
<title>I like watermelons</title>
<description>has a smooth exterior rind (green, yellow and
sometimes white) and a juicy, sweet interior
flesh</description>
</fruit>
</fruits>
</document>

...产生了想要的结果:

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Fruits</title>
</head>
<body>a tropical plant with edible multiple fruit consisting of coalesced berries</body>
</html>

关于xml - 如何检查元素节点是否包含xsl中的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15862655/

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