我需要过滤XPath表达式以仅抓取某个属性为非空。XPath过滤器不为空的子元素
我尝试这样做:
<xsl:template match="DocumentElement/QueryResults[string(@FileName)]">
这:
<xsl:template match="DocumentElement/QueryResults[string-length(@FileName)>0]">
,但没有奏效。我需要的同类数据从folloing XPath表达式返回的......
<xsl:template match="DocumentElement/QueryResults">
...但过滤,以避免与空属性@FileName项目。
谢谢!
Os,对不起,我刚刚发现“FileName”不是属性,但实际上是一个节点。我怎样才能检查它不是空的?谢谢。 – 2010-04-19 20:01:01
@Marcos - 这会解释你遇到的问题......更新回答(只删除属性限定符@)。 – Oded 2010-04-19 20:16:47
谢谢,我不是XPATH专家,我遇到了我正在使用的软件和解析器的奇怪行为问题。由于源数据正在通过SQL查询进行抽取,因此我已对其应用了WHERE子句,而不是在XPATH表达式中使用过滤器。谢谢。 – 2010-04-19 21:30:51