我正在使用WP All Import插件每天导入包含成千上万条记录的csv文件,但是我不需要全部,而仅需要更新的记录。 csv文件中有一个“最后修改时间”列,我想将其与今天的日期进行比较,并过滤掉所有不匹配的内容。
Wp all import让您使用xpath进行此操作,但是我不知道如何在其中引用今天的日期,有人可以帮忙吗?
WP All Import xpath screen.png
问候,
我正在使用WP All Import插件每天导入包含成千上万条记录的csv文件,但是我不需要全部,而仅需要更新的记录。 csv文件中有一个“最后修改时间”列,我想将其与今天的日期进行比较,并过滤掉所有不匹配的内容。
Wp all import让您使用xpath进行此操作,但是我不知道如何在其中引用今天的日期,有人可以帮忙吗?
WP All Import xpath screen.png
问候,
XPath 2.0解决方案(将其粘贴在XPath字段中)以保留当天的记录:
/node[@last_modified[concat(substring(.,7,4),substring(.,4,2),1,2))=string(format-date(current-date(),"[Y][M01][D01]"))]]
我们用子字符串提取日期,将当前日期(XPath 2.0函数:不确定WP是否支持)转换为字符串,然后进行比较。我们最终将这种情况放在了括号之间。
编辑:好。 last_modified是元素而不是属性。因此,只需从表达式中删除“ @”即可:
/node[last_modified[concat(substring(.,"[Y][M01][D01]"))]]
如果不起作用,只需在元素后添加“ [1]”:
/node[last_modified[1][concat(substring(.,"[Y][M01][D01]"))]]
编辑2:要完成此操作,要使用XPath 1.0保留当天的记录,您必须手动输入当天的日期(在以下示例中为“ 20190820”,请相应地进行更改)
//*[last_modified[1][concat(substring(.,2))=20190820]]
/node[last_modified[1][concat(substring(.,2))=20190820]]
使用XPath 2.0时,检查日期的过程应该是自动的(但似乎插件不支持它):
//*[last_modified[1][concat(substring(.,"[Y][M01][D01]"))]]