2012-05-15 3 views
1

Я работаю с xml, используя simplexml и xpath сейчас, когда я эхо получаю результат запроса xpth, это эхо-строка, но мне нужно получить эту строку в массиве, но при попытке скопировать в массив он приходит, как и SimpleXML объект, какПолучение строки внутри формы массива simplexml Результат запроса xpath

object(SimpleXMLElement)#237 (1) { 
    [0]=> 
    string(69) "Hallituksen esitykset uusiksi Yle-laeiksi eduskunnan käsiteltäviksi" 
} 

просто хотят "Hallituksen esitykset uusiksi Yle-laeiksi eduskunnan käsiteltäviksi" вот код,

 $xml = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>" . $pageBlocks['news']; 
     $xmldata = simplexml_load_string($xml); 


     $result = $xmldata->xpath('/blocks/block/items/item/strong'); 

     $feeddata = array(); 

     while (list(, $node) = each($result)) { 
      $feeddata [] = $node[0]; 
     } 

     foreach ($feeddata as $data){ 
      var_dump($data); 
     } 

как это решить

ответ

3

Чтобы получить его как строку, просто введите его через (string), который будет внутренне вызывать SimpleXMLElement's __toString(), чтобы вернуть строковое представление. Это то, что также происходит неявно, когда вы, кстати, это echo.

while (list(, $node) = each($result)) { 
    $feeddata [] = (string)$node[0]; 
} 
+1

Я люблю SimpleXML также для этой функции. –

+0

@ lorenzo-s Я «вырос» на DOMDocument, но в основном переключился на SimpleXML из-за этой простоты использования. –