xml - XSLT:当测试具有特定名称的子节点的条件时

标签 xml xslt

如何在 XSLT 中编写一个测试条件,表示“如果当前节点的子节点的任何子节点具有 local-name() = 'abc'”?

例如,如果当前节点内部有一个名为 test 的节点,并且 test 可能 包含一个名为 abc

我尝试编写 test="local-name(test/child::*) = 'abc'" 但显然不起作用。

提前致谢!!

最佳答案

local-name(test/*) 将仅检查(第一个)testfirst 子元素的名称,如果如果你想检查所有这些,那么你需要使用谓词:

<xsl:when test="test/*[local-name() = 'abc']">

但是更简单

<xsl:when test="test/abc">

如果您不需要考虑未知命名空间的可能性,可能就足够了。

关于xml - XSLT:当测试具有特定名称的子节点的条件时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22041641/

相关文章:

xml - 从 XSLT 中删除属性并处理结果集

sql-server - 存储过程不喜欢 utf-16

xml - 将(可能格式错误的)xml 转换为 R 中的数据帧

xml - 使用R抓取嵌套的XML数据

c# - xml反序列化时如何将子节点的内部xml作为字符串返回

xml - xslt:匹配部分属性名称

java - 使用一个 SAX 处理程序处理不同的 XML 响应文档

xslt - 我想为文本中的所有图形标注生成超链接,并且 id 应与图形 id 相同

xml - XSLT 从 REST API 转换 XML

xslt - 如何从磁盘读取 txt 文件并使用 XSTL 内联内容?