我在 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,可以通过以下方式访问第Nth 组件:
tokenize(/*/categories[1], ',')[$pN]
其中$pN是所需的基于 1 的索引。