这个XPath有什么问题?

时间:2011-09-28 20:41:59

标签: xml xslt xpath

鉴于路径/XML/Staff/Content/ContentXML/StaffProfile/Role是正确的,并且我有5 /XML/Staff只有一名工作人员,其角色为“合作伙伴”

为什么这匹配所有5名员工?

<xsl:apply-templates select="/XML/Staff[Content/ContentXML/StaffProfile/Role='Partner']" mode="List"/>

1 个答案:

答案 0 :(得分:2)

我还没有看到你的XML(你应该发布完整性),但我认为Role是一个XML元素,如果是这种情况,将它与字符串进行比较是行不通的。试试这个:

<xsl:apply-templates 
    select="/XML/Staff[Content/ContentXML/StaffProfile/Role/text()='Partner']"
    mode="List" />

如果Role是属性,则需要执行以下操作:

<xsl:apply-templates 
    select="/XML/Staff[Content/ContentXML/StaffProfile/@Role='Partner']"
    mode="List" />