проблема синтаксического анализа xml с simplexml - PullRequest
2 голосов
/ 11 августа 2011

Я пытаюсь разобрать некоторые xml, используя simplexml и php ... они возвращаются мне из службы примерно так:

<DMResponse><Code>2</Code><Description>Your request was successfully received You will        receive notification once the process has been completed.</Description><ResultData><Explanation>     The job name is 578bbn004 </Explanation></ResultData></DMResponse>

Я вставил это с панели .net в firebug.

Вот как я пытаюсь разобрать, используя php:

$result = curl_exec($ch);
print 'xml ' . $result . ' xml';
$xml = new SimpleXMLElement($result);
$code = $xml->code;
echo $code;

$ результат заполнен ненадлежащим образом ... Я получаю его обратно в приведенном выше утверждении print ... он содержитструктура xml, которую я опубликовал.

Я получаю сообщение об ошибке: «Строка не может быть проанализирована как XML».Я не понимаю, почему он это делает.Есть идеи?

Ответы [ 2 ]

3 голосов
/ 11 августа 2011

Попробуй $xml = simplexml_load_string($result); ... Я никогда не делал так, как ты. Это не значит, что это не сработает.

Редактировать: если simplexml_load_string() не работает, ваша строка может содержать некоторые (непечатаемые) недопустимые символы или что-то в этом роде.

1 голос
/ 11 августа 2011

Чтобы напечатать ваш объект SimpleXML, вы должны использовать $xml->asXML() (для печати в файл $xml->asXML(file_name)).

Если у вас все еще есть ошибка: Что такое печать, когда вы добавляете этот код сразу после $xml = new SimpleXMLElement($result);

<code>echo "<pre>";
var_dump($xml);
echo "
"; умереть();
...