首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >!= XPath运算符的奇怪行为

!= XPath运算符的奇怪行为
EN

Stack Overflow用户
提问于 2013-03-20 23:11:24
回答 2查看 115.5K关注 0票数 26

我正在尝试创建一条具有多个条件的xsl:choose语句来进行测试。到目前为止,我有这样的想法:

代码语言:javascript
复制
<xsl:choose>
    <xsl:when test="$AccountNumber != '12345' and $Balance != '0'">
       <do stuff here>
       ...

问题是'and‘被当作'or’来处理。如果账号为12345或账户余额为0,则将条件视为真,并执行代码。我需要的测试是这两个条件都必须为真。我这里的语法是不是错了?

提前谢谢~Tim

EN

回答 2

Stack Overflow用户

发布于 2013-03-20 23:26:53

如果$AccountNumber$Balance是一个节点集,那么这种行为很容易发生。这并不是因为and被当作or对待。

例如,如果$AccountNumber引用值为1234566的节点,而$Balance引用值为550的节点,则$AccountNumber != '12345'将为真(因为66不等于12345),<代码>D13将为真(因为<代码>D14不等于<代码>D15)。

我建议试着这样做:

代码语言:javascript
复制
<xsl:when test="not($AccountNumber = '12345' or $Balance = '0')">

只要有一个值为12345$AccountNumber或一个值为0$Balance$AccountNumber = '12345' or $Balance = '0'都将为true,如果对其应用not(),则将得到false结果。

票数 8
EN

Stack Overflow用户

发布于 2013-03-21 00:51:37

我一直使用这种语法,它比使用!=产生更可预测的结果。

代码语言:javascript
复制
<xsl:when test="not($AccountNumber = '12345') and not($Balance = '0')" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15527427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档