2016-10-07 3 views
-1

Нужно получить некоторый узел, указанный по имени. Например, как он должен искать узел «command» или корневой узел?Как получить root или указанный узел по имени через xpath?

Вот что я написал

 $xpath = "/ns0:StandardBusinessDocument/eanucc:message/eanucc:transaction/command"; 
     $xpath .= "/eanucc:documentCommand/documentCommandOperand/ns1:catalogueItemNotification/catalogueItem"; 
     $xpath .= "/catalogueItemChildItemLink/catalogueItem/catalogueItemChildItemLink/catalogueItem/tradeItem"; 
     $xpath .= "/tradeItemIdentification/gtin[.='$gtin']/"; 

где $gtin = 00000075032814

Вот что я получил

Array 
(
    [0] => SimpleXMLElement Object 
     (
      [0] => 00000075032814 
     ) 

    [1] => SimpleXMLElement Object 
     (
      [0] => 00000075032814 
     ) 

) 

UPD: Дело в том, что я могу получить узел, как это

"[catalogueItem/tradeItem/tradeItemIdentification/gtin[.='$gtin']]" 

Но если я вернусь - есть еще два узла catalogueItem узлов, и я получаю ошибку xpath.

+0

Ваш вопрос не ясен. Добавьте язык программирования в качестве тега и покажите полный образец кода, который можно использовать для воспроизведения вашей проблемы. Также покажите входной документ XML и скажите, что именно вы ожидаете в результате. Дополнительная справка: http://stackoverflow.com/help/mcve и http://stackoverflow.com/help/how-to-ask. –

ответ

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