xml – 如果属性值不等于某些值,如何获取它们?
发布时间:2020-12-16 23:00:28 所属栏目:百科 来源:网络整理
导读:我有一个像xml: movies movie name="aaa" ... /movie movie name="bbb" ... /movie movie name="ccc" ... /movie movie name="ddd" ... /movie movie name="eee" ... /movie/movies 如果不是’aaa’,’bbb’或’ddd’,我想获得电影的名称.所以我希望我的输
我有一个像xml:
<movies> <movie name="aaa"> ... </movie> <movie name="bbb"> ... </movie> <movie name="ccc"> ... </movie> <movie name="ddd"> ... </movie> <movie name="eee"> ... </movie> </movies> 如果不是’aaa’,’bbb’或’ddd’,我想获得电影的名称.所以我希望我的输出是: ccc eee 因为我有几个限制,我不认为它适合使用’xsl:if’..我写了我的xslt(我正在使用xslt 1.0): <xsl:value-of select="movies/movie/@name[not(self::aaa) and not(self::bbb) and not(self:ddd)]"/> 但编译器抱怨这句话中有语法错误……我无法弄清楚为什么.. 所以有人可以帮我吗?非常感谢!! 解决方法
试试这个XPath表达式:
movies/movie[@name!='aaa' and @name!='bbb' and @name!='ddd']/@name 或者这个: movies/movie/@name[.!='aaa' and .!='bbb' and .!='ddd'] 后者较短,但前者可以很容易地扩展到检查其他返回不仅名称,而是整个< movie> element – 最后删除/ @ name.或者如果您想要第二个,只需在末尾添加/ .. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |