XPath&;替换精确匹配

XPath&;替换精确匹配,xpath,Xpath,有人能帮我吗 我正在尝试将具有“0”的字段更改为空 我有这个: [str_replace("0",",{price[1]/sale[1]})] 但我认为这将替换所有“包含”0的字段,例如,如果它有301,那么它将变成31。我想要的是只将只包含单个0的字段替换为零 我该怎么做?(代码需要在一行上运行,因为它是在表单字段上运行的)一种简单的方法如下(未测试!): 此表达式包含一个附加条件,仅当数字不是0时才查找该数字。如果找到,它将返回数字,否则它将返回空字符串,因为空节点集的函数string应该

有人能帮我吗

我正在尝试将具有“0”的字段更改为空

我有这个:

[str_replace("0",",{price[1]/sale[1]})]
但我认为这将替换所有“包含”0的字段,例如,如果它有301,那么它将变成31。我想要的是只将只包含单个0的字段替换为零


我该怎么做?(代码需要在一行上运行,因为它是在表单字段上运行的)

一种简单的方法如下(未测试!):


此表达式包含一个附加条件,仅当数字不是0时才查找该数字。如果找到,它将返回数字,否则它将返回空字符串,因为空节点集的函数
string
应该正好产生这个值。

您发布的代码示例不是XPath。使用XPath替换值非常简单(令人惊讶的是,使用
replace()
)。另外,如果您使用XPath,您最喜欢的是XML数据,那么如果您也发布一些示例数据也会很好。您好,谢谢您的反馈。不幸的是,这不起作用。它确实去掉了“0”,但问题是它还删除了售价高于0的产品的售价。例如,如果一个产品的零售价为50美元,销售价为35美元,那么销售价现在变为“0”。您可以在您的问题中包含一个
sale
标记的示例吗?这里有一个示例,但这个示例的销售价已经为零:-0.00 98.00我刚刚使用
xsltproc
在一个简单的XSLT1.0中检查了XPath表达式。它在那里工作。您使用哪个XPath处理器?
[{string(price[1][number(sale[1]) != 0]/sale[1])}]