2014-02-21 6 views
1

Использование XPath, как выбрать конкретные атрибуты значение узла (где атрибут = количество)?XPath: Как выбрать значение атрибутов конкретного узла?

Для примера:

$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 для получения «количественного» значения?

ответ

1

Вы можете получить «количество» атрибуты детей «значение» узлы, использующие это выражение XPath:

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

благодарит Павла за Ваш ответ ... Я также получил один альтернативное решение для этого с помощью «$ ребенок [количество]» –

Смежные вопросы