0

我正在使用 WP All Import 插件每天导入包含数千条记录的 csv 文件,但我不需要所有这些,只需要已更新的那些。csv 文件中有一个“最后修改”列,我想将其与今天的日期进行比较并过滤掉任何不匹配的内容。

wp all import 让您使用 xpath 执行此操作,但我不知道如何在其中引用今天的日期,有人可以帮忙吗?

WP全部导入xpath screen.png

亲切的问候,

4

1 回答 1

0

XPath 2.0 解决方案(将其粘贴在 XPath 字段中)以保留当天的记录:

/node[@last_modified[concat(substring(.,7,4),substring(.,4,2),substring(.,1,2))=string(format-date(current-date(),"[Y][M01][D01]"))]]

我们用子字符串提取日期,将当前日期(XPath 2.0 函数:不确定 WP 支持它)转换为字符串,然后比较它们。我们最后把这个条件放在括号里。

编辑:好的。last_modified 是一个元素而不是一个属性。所以只需从表达式中删除“@”:

/node[last_modified[concat(substring(.,7,4),substring(.,4,2),substring(.,1,2))=string(format-date(current-date(),"[Y][M01][D01]"))]]

如果它不起作用,只需在元素后添加 '[1]' :

/node[last_modified[1][concat(substring(.,7,4),substring(.,4,2),substring(.,1,2))=string(format-date(current-date(),"[Y][M01][D01]"))]]

编辑 2:要完整,要使用 XPath 1.0 保留当天的记录,您必须手动输入当天的日期(以下示例中的“20190820”,相应地进行更改)

//*[last_modified[1][concat(substring(.,7,4),substring(.,4,2),substring(.,1,2))=20190820]]
/node[last_modified[1][concat(substring(.,7,4),substring(.,4,2),substring(.,1,2))=20190820]]

使用 XPath 2.0,检查日期的过程应该是自动的(但插件似乎不支持它):

//*[last_modified[1][concat(substring(.,7,4),substring(.,4,2),substring(.,1,2))=string(format-date(current-date(),"[Y][M01][D01]"))]]
于 2020-03-27T12:42:07.710 回答