我有一个
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元素是否包含’菠萝’,以便我只能显示该特定水果的描述?
这是我的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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。