【发布时间】:2015-09-02 06:35:00
【问题描述】:
XML 文件
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ew-language id="en">
<global>
<phrase id="actiondeleted" value="Deleted">
<child_phrase_1 id="1234" value="numbers">
<child id="test_id" value="test_value"/>
<child id="test_id" value="test_value_2"/>
</child_phrase_1>
</phrase>
</global>
</ew-language>
如何通过 ID 和值获取元素,以便元素是唯一的。我尝试了这些
$parent = ($xpath->query("//*[@id='$previous_tag_id']")&& $xpath->query("//*[@value='$previous_tag_value']"))->item(0);
----------------------AND THIS ONE-----------------------------------
$parent = $xpath->query("//*[@id='$previous_tag_id']/*@value='$previous_tag_value')"->item(0);
----------------------AND THIS ONE-----------------------------------
$xpath->query("//*[@id='$previous_tag_id' and @value='$previous_tag_value']");
每种语法都不起作用。
【问题讨论】:
-
//*[@id="test_id" and @value="test_value_2"]并处理引号。 -
这个 XML 最初包含数千个元素,我可以用 //*[@id="test_id" 和 @value 替换 //*[@id="test_id" 和 @value="test_value_2"] ="$previous_tag_value"]
-
$xpath->query("//*[@id='$previous_tag_id' and @value='$previous_tag_value']"); -
我没有得到你
-
是的,可以替换。忘了报价。我错了。
标签: php xml parsing domxpath xpathquery