如何通过Xpath组合不同的值返回
如何为该段落编写Xpath,使其返回“€261-”。所有alt标记的组合字符串。使用如何通过Xpath组合不同的值返回 ,xpath,xpath-2.0,Xpath,Xpath 2.0,如何为该段落编写Xpath,使其返回“€261-”。所有alt标记的组合字符串。使用 <p class="pd-price"> <img alt="€" src="http://www.redcoon.es/templates/tpl/img/pd/pd-price/euro_small.png"> <img class="offsetStandard" alt="2" src="http://www.redcoon.es/templates/tpl
<p class="pd-price">
<img alt="€" src="http://www.redcoon.es/templates/tpl/img/pd/pd-price/euro_small.png">
<img class="offsetStandard" alt="2" src="http://www.redcoon.es/templates/tpl/img/pd/pd-price/2.png">
<img class="offsetStandard" alt="6" src="http://www.redcoon.es/templates/tpl/img/pd/pd-price/6.png">
<img class="offsetStandard" alt="1" src="http://www.redcoon.es/templates/tpl/img/pd/pd-price/1.png">
<img class="offsetStandard" alt="-" src="http://www.redcoon.es/templates/tpl/img/pd/pd-price/minus_point.png">
</p>
这将首先选择所有alt属性的文本,然后将其组合成字符串
<p class="pd-price">
<img alt="€" src="http://www.redcoon.es/templates/tpl/img/pd/pd-price/euro_small.png">
<img class="offsetStandard" alt="2" src="http://www.redcoon.es/templates/tpl/img/pd/pd-price/2.png">
<img class="offsetStandard" alt="6" src="http://www.redcoon.es/templates/tpl/img/pd/pd-price/6.png">
<img class="offsetStandard" alt="1" src="http://www.redcoon.es/templates/tpl/img/pd/pd-price/1.png">
<img class="offsetStandard" alt="-" src="http://www.redcoon.es/templates/tpl/img/pd/pd-price/minus_point.png">
</p>
这将首先选择所有alt属性的文本,然后在Xpath 2中将其组合成字符串
在XPath2中,您有
任何其他函数而不是字符串连接。解析器不支持此函数。我们可以用concat吗?用concat你可以像
concat一样使用它(p/img[1]/@alt,p/img[2]/@alt,p/img[3]/@alt,p/img[4]/@alt,p/img[5]/@alt,p/img[6]/@alt,p/img[7]/@alt)
。(如果concat调用中的img多于html中的img,则忽略它们)。但是最好切换到另一个支持最基本函数的解析器。如果它支持xpath 2,您还可以将p/
移出,使其更简单一点p/concat(img[1]/@alt,img[2]/@alt,img[3]/@alt,img[4]/@alt,img[5]/@alt,img[6]/@alt,img[7]/@alt)
任何其他函数,而不是字符串连接。解析器不支持此函数。我们可以用concat吗?用concat你可以像concat一样使用它(p/img[1]/@alt,p/img[2]/@alt,p/img[3]/@alt,p/img[4]/@alt,p/img[5]/@alt,p/img[6]/@alt,p/img[7]/@alt)
。(如果concat调用中的img多于html中的img,则忽略它们)。但是最好切换到另一个支持最基本函数的解析器。如果它支持xpath 2,您还可以将p/
移出,使其更简单一点p/concat(img[1]/@alt,img[2]/@alt,img[3]/@alt,img[4]/@alt,img[5]/@alt,img[6]/@alt,img[7]/@alt)
string-join(p[@class='pd-price']/img/@alt, '')