WP全部导入的Xpath运算符

我要导入所有过滤的产品,它们应用了所有3条标准:

1),它们有库存(DIM)

2)库存超过3个(stock_indicator

3),它们属于这些1或4组中的一个(任何一个)

我想要所有3个条件,但是在这些选项中,第3个都是

即: /product[dim1[1] = "1" and stock_indicator[1] > 3 and group[1] = "1" or group/category/id[1] = "4"]

上面没有返回任何产品,就像没有产品具有所有这些要求一样。

我在做什么错了?

Dim =可用性

XML示例:

WP全部导入的Xpath运算符

iCMS 回答:WP全部导入的Xpath运算符

/product[dim1[1] = "1" and stock_indicator[1] > 3 and group[1] = "1" or group/category/id[1] = "4"]

首先,您的XPath假定所有product元素都位于根级别,这不会构成格式良好的XML文档;全部都应该包裹在某个元素中。

如果这在您的环境中没有问题(因为我们不知道您所提出的问题的全部设置),那么XPath中最突出的问题可能是您尝试将stock_indicator的值与{{ 1}},但实际上您的数据样本将其编码为xs:integer

因此

xs:string

将始终返回stock_indicator[1] > 3

尝试

false

stock_indicator[1]/number() > 3

相反。

尽管如此,根据数据结构(例如,一个number(stock_indicator[1]) > 3 中的多个stock_indicator元素[可能意味着什么]),这可能会返回误报。

,

您可以使用以下XPath过滤产品:

//product[availability="1"][stock_indicator>3][group/id=1 or group/id=4]
  • //开头,如@Benjamin W. Bohl所述,以捕获所有产品
  • availability代替了“暗淡”
  • 用于谓词的更清洁的语法
  • 不使用位置索引([1]),前提是每个availability中每个stock_indicator只有1个id,1个group,1个product }

XML用于测试。

XPath:

XP

已过滤XML(4个产品中的2个满足条件):

FilterXML

本文链接:https://www.f2er.com/2036383.html

大家都在问