【问题标题】:XSLT: select all nodes without inner elements and without attributesXSLT:选择所有没有内部元素和没有属性的节点
【发布时间】:2014-06-17 21:17:27
【问题描述】:

如何在结构未知的.xml中选择所有没有内部元素和没有属性的节点?

【问题讨论】:

标签: xml xslt


【解决方案1】:

用于查找没有子元素或属性的元素的 XPATH 表达式是: //[不是(|@*)] 您将仅获得带有 text() 的元素。获取这些元素名称的代码如下:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
 <xsl:template match="/">
 <xsl:apply-templates select="//*[not(*|@*)]"/>
 </xsl:template>

<xsl:template match="*|@*">
<xsl:value-of select="name()"/><xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>

【讨论】:

  • 应该是 //*[not(|@)] ,而不是 //[not(|@*)]
猜你喜欢
  • 1970-01-01
  • 2019-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-22
  • 1970-01-01
  • 2011-02-01
  • 1970-01-01
相关资源
最近更新 更多