Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите разобрать массив полученный в simplexml_load_string ()
 
 автор: Giga   (01.03.2008 в 12:26)   письмо автору
290 байт
 
 

Вот мануал php.net
<?php
$string 
= <<<XML
<?xml version='1.0'?> 
<document>
 <title>Forty What?</title>
 <from>Joe</from>
 <to>Jane</to>
 <body>
  I know that's the answer -- but what's the question?
 </body>
</document>
XML;

$xml simplexml_load_string($string);

var_dump($xml);
?>

А вот результат
SimpleXMLElement Object
(
  [title] => Forty What?
  [from] => Joe
  [to] => Jane
  [body] =>
   I know that's the answer -- but what's the question?
)

В примере я могу выбрать переменные массива и работать с ними. Например записать в базу данных. $text='".$xml->body."'; и т.д.
А вот то что мне собираются присылать POST'ом через XForm в виде xml-документа
<?xml version="1.0" encoding="UTF-8"?>
<sms-request version="1.0">
    <message id=" 49647" 
submit-date="09-JUN-06 05.00.35 PM" 
msisdn="+79169999999"
service-number="2893" 
operator="mts-smpp">
        <content type="text/plain">This is a test message</content>
    </message>
</sms-request>

Разобрав через simplexml_load_string ()
Получаю var_damp()
object(SimpleXMLElement)#1 (2) 
{
 ["@attributes"]=> array(1) 
  { ["version"]=> string(3) "1.0" } 
 ["message"]=> object(SimpleXMLElement)#2 (2)
 { ["@attributes"]=> array(5)
 { ["id"]=> string(6) " 49647" 
   ["submit-date"]=> string(21) "09-JUN-06 05.00.35 PM" 
   ["msisdn"]=> string(12) "+79169999999" 
   ["service-number"]=> string(4) "2893" 
   ["operator"]=> string(8) "mts-smpp" } 
["content"]=> string(22) "This is a test message" } }

Какая в приведенном примере переменная текста?
$xml->content = NULL
$xml->message["content"] = NULL
Запутался я в этом массиве :(
Хотя я выделил например $xml->message["msisdn"] = '+79169999999';

   
 
 автор: mefestofel   (01.03.2008 в 12:32)   письмо автору
 
   для: Giga   (01.03.2008 в 12:26)
 

o_0 переменная какого текста?

   
 
 автор: Giga   (01.03.2008 в 12:41)   письмо автору
 
   для: mefestofel   (01.03.2008 в 12:32)
 

This is a test message
Вот этот текст =)
Я конечно могу пойти обходными путями и вырезать этот текст через тот же explode() но ведь var_dump показывает что есть этот текст как элемент массива. Проблема только какой индекс у этого элемента для его вывода? Перепробовал все возможные конструкции но все выдает ноль. :(

   
 
 автор: Giga   (01.03.2008 в 12:43)   письмо автору
 
   для: Giga   (01.03.2008 в 12:41)
 

Вот этот элемент ["content"]=> string(22) "This is a test message"
Как его выбрать?

   
 
 автор: Giga   (01.03.2008 в 13:56)   письмо автору
 
   для: Giga   (01.03.2008 в 12:43)
 

Разобрался =)
$text = $xml->message[0]->content;
Спасибо http://content.1nsk.ru/spravka/php/datafun/xml/simplexml.html

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования