XML:
<Book>
<Title>blahblah</Title>
<Title>
<subtitle>bcdf</subtitle><subtitle>bcdf</subtitle>asdfg
</Title>
<Title>
<subtitle>bcdf</subtitle>jhuk<subtitle>bcdf</subtitle>refsdw
</Title>
<Title>
<subtitle>bcdf</subtitle>fdgfjhdc<subtitle>bcdf</subtitle>
</Title>
</Book>
输出结果应为:
<Title>blahblah</Title>
<Title>asdfg</Title>
<Title>jhukrefsdw</Title>
<Title>fdgfjhdc</Title>
答案 0 :(得分:0)
您可以按索引
选择特定元素/Book/Title[1]/text()
答案 1 :(得分:0)
你的问题不是很清楚。看到这个。
<强> XML:强>
<Book>
<Title>blahblah</Title>
<Title>
<subtitle>bcdf</subtitle>
<subtitle>bcdf</subtitle>blahblah
</Title>
<Title>
<subtitle>bcdf</subtitle>blah
<subtitle>bcdf</subtitle>blah
</Title>
<Title>
<subtitle>bcdf</subtitle>blahblah
<subtitle>bcdf</subtitle>
</Title>
</Book>
<强> XSL:强>
<?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="yes" indent="yes" />
<xsl:strip-space elements="*" />
<xsl:template match="Book">
<xsl:value-of select="Title[text() = 'blahblah']" />
</xsl:template>
</xsl:stylesheet>
<强>输出:强>
blahblah
答案 2 :(得分:0)
<?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="yes" indent="yes" />
<xsl:strip-space elements="*" />
<xsl:template match="//Title">
<Title>
<xsl:for-each select="text()">
<xsl:value-of select="." />
</xsl:for-each>
</Title>
</xsl:template>
</xsl:stylesheet>
答案 3 :(得分:0)
这里最简单的方法可能就是完全删除subtitle
个元素。以下样式表:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- identity template - copies everything as-is unless overridden -->
<xsl:template match="@*|node()">
<xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy>
</xsl:template>
<!-- ignore (i.e. delete) subtitle elements -->
<xsl:template match="subtitle" />
</xsl:stylesheet>
会产生
的输出<Book>
<Title>blahblah</Title>
<Title>
asdfg
</Title>
<Title>
jhukrefsdw
</Title>
<Title>
fdgfjhdc
</Title>
</Book>
如果你想修复空白,那么添加第三个模板
就足够了<xsl:template match="text()">
<xsl:value-of select="normalize-space()" />
</xsl:template>
并告诉样式表缩进输出
<xsl:output indent="yes" />
然后会产生
<Book>
<Title>blahblah</Title>
<Title>asdfg</Title>
<Title>jhukrefsdw</Title>
<Title>fdgfjhdc</Title>
</Book>