我有一个xml文件,看起来像这样:
<item id="1991901" >
<property name="image">
<property>
<property name="image_realtyimagetype_id">
<value>pääkuva</value>
</property>
<property name="image_itemimagetype_name">
<value>kivirealty-original</value>
</property>
<property name="image_desc">
<value></value>
</property>
<property name="image_url">
<value>http://domain.com/img4092288730864152376.jpg</value>
</property>
[...]
里面有很多项目,有不同的图片和其他数据。
是否有一种直接的方法来获得"image_url"的值在这种情况下,其中值"image_realtyimagetype_id"是"pääkuva"不通过整个树与foreachs?(每个item-id中只能有一个"pääkuva")
"image_realtyimagetype_id"也可以声明"yleiskuva"或类似的,但我只需要"pääkuva"(这意味着主图像)
到目前为止,我只得到了文件中的第一个图像,如下所示:$path = '//item[@id="'.$itemId.'"]/property[@name="image"]/property/property[@name="image_url"]/value/text()';
但是现在我需要特定的图像。是否有一种方法可以用xpath直接做到这一点?
长XPath:
//item/property[@name="image"]/property[property[@name="image_realtyimagetype_id"]/value/text()="pääkuva"]/property[@name="image_url"]/value/text()
试试这个XPath:
//item[@id="1991901"]//property[@name="image_realtyimagetype_id"]/value[text() = "pääkuva"]/../following-sibling::property[@name="image_url"]/value