PHP 的 SimpleXML 忽略 XML(有点)
我有一个非常短(到目前为止)、非常基本的 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
都是空的,但用 $ 打印
显示 XML 实际上就在那里。$config
config->asXML()
请告诉我我正在做一些愚蠢的事情,这样我就可以不再用头撞桌子了。 :)
I have a very short (so far), very basic XML file called config.xml like
<?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>
I am trying to read it with the following 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;
None of the XML elements are read; $exe
, $perl_exec
, and $temp_file
are all empty, but printing $config
with $config->asXML()
reveals that the XML is, in fact, there.
Please tell me I am doing something silly so that I can stop banging my head against my desk. :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不应使用根节点(所有 xml 文档都必须有根节点,因此假定/需要它的存在),请尝试:
代替。
The root node shouldn't be used (all xml documents must have a root node, so it's presence is assumed/required), try:
instead.
您应该在没有 name_of_program3 的情况下阅读,因为该程序是 root。
尝试使用
$exe = $config->path_to_exe3
You should read without name_of_program3 because the one is root.
Try to use
$exe = $config->path_to_exe3