我在 Drupal 7 cms 中使用 feed 导入模块,它接受 xpath 指令来映射导入数据。是否可以仅选择原子值的一部分或使用 xpath 将其分解?例如:
<book>
...
<categories>1,4,88</categories>
...
</book>
是否可以使用 xpath 语句分别获得 1 个或 4 个或 88 个?
我在 Drupal 7 cms 中使用 feed 导入模块,它接受 xpath 指令来映射导入数据。是否可以仅选择原子值的一部分或使用 xpath 将其分解?例如:
<book>
...
<categories>1,4,88</categories>
...
</book>
是否可以使用 xpath 语句分别获得 1 个或 4 个或 88 个?
您可以使用substring-before()和substring-after()函数:
substring-before(/book/categories, ',')
substring-before(substring-after(/book/categories, ','), ',')
substring-after(substring-after(/book/categories, ','), ',')
使用 XPath 2.0,您可以使用tokenize()函数:
tokenize(/book/categories, ',')[1]
tokenize(/book/categories, ',')[2]
tokenize(/book/categories, ',')[3]
或者,使用 XPath 2.0,可以通过以下方式访问第N
th 组件:
tokenize(/*/categories[1], ',')[$pN]
其中$pN
是所需的基于 1 的索引。