我需要從xml中選擇節點,條件見下文。我使用的是simplexml,因此xpath必須是1.0。php xpath基於多個屬性和父屬性檢索屬性值
XML片段:
<scales>
<scale id="1" gender="*" age="*">
<d scid="hi" raw="10" t="76" />
<d scid="pn" raw="12" t="80" />
</scale>
<scale id="2" gender="m" age="*">
<d scid="hi" raw="8" t="79" />
<d scid="pn" raw="2" t="50" />
</scale>
<scale id="3" gender="*" age="19-39">
<d scid="hi" raw="0" t="48" />
<d scid="pn" raw="10" t="49" />
</scale>
</scales>
現在,我要選擇具有<d>
節點的t
-Attribute ...
raw="10" AND scid="hi"
$result=$xml->xpath('//d[@scid="hi"][@raw="10"]/@t');
與其父節點<scale>
有...
(gender="*" OR gender="m") AND (age="*" OR age="39-59")
$result=$xml->xpath('//scale[@gender="*" or @gender="m"][@age="*" or @age="39-59"]');
我想用1個xpath-statement fr om我simplexml對象$xml
。
在你的XML中有一個錯誤,至少raw =「12缺少一個」,這可能不是hleping或者只是這裏的一個錯誤類型? – Dave 2013-03-01 13:08:33
@Dave:謝謝,錯誤類型,編輯它 – michi 2013-03-01 13:12:56
你能否提供一些實際的php代碼,如你試圖查詢它在 – Dave 2013-03-01 13:23:08