PHP SimpleXML игнорирует XML (вроде) - PullRequest
0 голосов
/ 25 августа 2011

У меня есть очень короткий (пока что) очень простой XML-файл с именем config.xml, например

<?xml version='1.0' encoding='UTF-8' ?>
<name_of_program3>
    <path_to_exe3>script.pl</path_to_exe3>
    <path_to_perl>/usr/bin/perl</path_to_perl>
    <temp_output_file>temp.txt</temp_output_file>
</name_of_program3>

Я пытаюсь прочитать его с помощью следующего PHP:

$config = simplexml_load_file('config.xml');

$exe = $config->name_of_program3->path_to_exe3;
$perl_exec = $config->name_of_program3->path_to_perl;
$temp_file = $config->name_of_program3->temp_output_file;

Ни один из элементов XML не читается;$exe, $perl_exec и $temp_file - все пустые, но печать $config с $config->asXML() показывает, что XML действительно есть.

Пожалуйста, скажите мне, что я делаю что-то глупоечтобы я мог перестать биться головой о стол.:)

Ответы [ 2 ]

2 голосов
/ 25 августа 2011

Корневой узел не должен использоваться (все XML-документы должны иметь корневой узел, поэтому его наличие предполагается / требуется), попробуйте:

$config->path_to_perl

вместо.

0 голосов
/ 25 августа 2011

Вы должны читать без name_of_program3, потому что это root. Попробуйте использовать

$ exe = $ config-> path_to_exe3

...