【发布时间】:2020-10-09 19:05:09
【问题描述】:
我正在使用将商品和图像分开的 shopify 商品提要 xml。我想使用单个 xpath 获取项目的图像 url。 xml 看起来像这样-
<products>
<product>
<variants>
<variant>
<image-id>123</image-id>
</variant>
</variants>
</product>
<images>
<image>
<id>123</id>
<src>https://abc/</src>
</image>
</images>
</products>
我的出发点是在变体中。因此,要获取图像,我可以向上两个父级,向下进入图像,获取具有匹配 id 的图像,然后从该元素获取 src。
parent::*/parent::*/images/image[id/text()="123"]/src/text()
这可行,但它被硬编码为“123”。我想要的是从变体中获取图像 ID 文本并将其用作谓词值。
parent::*/parent::*/images/image[id/text()=image-id/text()]/src/text()
XPath 至少不会抱怨这一点,但它并没有像我希望的那样工作。是否可以使用来自image-id/text() 的值作为id/text()= 的谓词值?
【问题讨论】:
-
./../../images/image[id = ./../../product/variants/variant/image-id]/src/text()