2014-04-25 245 views
0

任何人都可以帮助我吗?XPath&替换完全匹配

我试图将有“0”的字段更改为Nothing。

我有这样的:

[str_replace("0",",{price[1]/sale[1]})] 

但我认为这将取代“遏制”的所有字段0,这样,例如,如果它有301那么它将成为31我要的是唯一的替代领域只包含单个0到无。

我该怎么做? (该代码必须在一行上,因为它是在一个形式字段运行)

+0

您发布的代码示例不是XPath。使用XPath很容易替换一个值(令人惊讶的是使用'replace()')。另外,如果你使用XPath,你最喜欢的是有一些XML数据,如果你还会发布一些示例数据,那将是很好的 – dirkk

回答

0

一种简单的方法来做到这可以如下(未测试!):

[{string(price[1][number(sale[1]) != 0]/sale[1])}] 

此表达式包括一个附加条件只在首先找到不是0的号码。如果发现它返回数字,否则它将返回一个空字符串,因为空节点集的函数string应该正好产生这个。

+0

嗨,感谢您的反馈。不幸的是,这是行不通的。它确实消除了“0”,但问题是它也会删除销售价格高于0的产品的销售价格。例如,如果产品的零售价为50美元,销售价格为35美元,则销售价格现在变成“0”。 – user3308394

+0

你可以在你的问题中加入一个“sale”标签的例子吗? –

+0

下面是一个例子,但是这其中有一个零销售价格已经: - <价格货币= “USD”> <销售END_DATE = “” BEGIN_DATE = “”> 0.00 98.00 user3308394