XPath:如何选择节点的特定属性值?

时间:2014-02-21 07:03:45

标签: xml xpath

使用XPath,如何选择节点的特定属性值(其中attribute = quantity)?

例如:

$xml = new SimpleXMLElement('
  <option name="Size">
  <value optionID="147" quantity="1">6</value>
  <value optionID="111" quantity="1">7</value>
  <value optionID="145" quantity="0">8</value>
  <value optionID="112" quantity="0">9</value>
  <value optionID="146" quantity="0">10</value>
  <value optionID="416" quantity="0">11</value>
  </option>
');

现在我使用以下代码获取大小值:

foreach ($product->xpath('//option[@name="Size"]) as $item)
{    
    foreach ($item->children() as $child)
    {
      echo $child ."\n";
    }
}

现在我希望获得数量与价值的关系。 那么请帮助我如何在XPath Query中进行更改以获得“数量”值?

1 个答案:

答案 0 :(得分:1)

您可以使用此XPath表达式获取子“value”节点的“quantity”属性:

//option[@name="Size"]/value/@quantity