name[0] + '.'
我有上面的XML数据文件。我试图在channel-name =“HR”部分回显标题。所以,回声应该是'欢迎来到HR-TV。
这是我执行此操作的PHP代码
<?xml version="1.0" encoding="UTF-8"?>
<TVchannel>
<month-name month="September">
<channel-name name="IT">
<title>Welcome to IT-TV</title>
<image-no-1></image-no-1>
<image-no-2></image-no-2>
<image-no-3></image-no-3>
<image-no-4></image-no-4>
<image-no-5></image-no-5>
</channel-name>
<channel-name name="PTG">
<title>Welcome to PTG-TV</title>
<image-no-1></image-no-1>
<image-no-2></image-no-2>
<image-no-3></image-no-3>
<image-no-4></image-no-4>
<image-no-5></image-no-5>
</channel-name>
<channel-name name="HR">
<title>Welcome to HR-TV</title>
<image-no-1></image-no-1>
<image-no-2></image-no-2>
<image-no-3></image-no-3>
<image-no-4></image-no-4>
<image-no-5></image-no-5>
</channel-name>
</month-name>
<month-name month="October">
<channel-name name="IT">
<title>Welcome to IT-TV</title>
<image-no-1></image-no-1>
<image-no-2></image-no-2>
<image-no-3></image-no-3>
<image-no-4></image-no-4>
<image-no-5></image-no-5>
</channel-name>
<channel-name name="PTG">
<title>Welcome to PTG-TV</title>
<image-no-1></image-no-1>
<image-no-2></image-no-2>
<image-no-3></image-no-3>
<image-no-4></image-no-4>
<image-no-5></image-no-5>
</channel-name>
<channel-name name="HR">
<title>Welcome to HR-TV</title>
<image-no-1></image-no-1>
<image-no-2></image-no-2>
<image-no-3></image-no-3>
<image-no-4></image-no-4>
<image-no-5></image-no-5>
</channel-name>
</month-name>
</TVchannel>
但是,当我运行时,会出现此错误 解析错误:第3行的语法错误,意外的'[',期待标识符(T_STRING)或变量(T_VARIABLE)或'{'或'$'在C:\ wamp64 \ www \ POC - ITTV \ logic.php中
请帮助
答案 0 :(得分:1)
echo $picture_container->{'month-name'}[0]->{'channel-name'}[1]->title->__toString();
顺便说一句,输出'欢迎使用HR-TV'应为{'channel-name'}[2]
。
答案 1 :(得分:1)
这里有很多错误:
1。 month-name或channel-name不是常量。即使它们是你不能使用的常数,你也不能将它们作为含量使用。&#34; - &#34;声明常量或变量或任何方法或任何函数时的字母。 (PHP解释器将其理解为减去操作。)
2. 如果您想使用 - 来访问生成的属性!或者像这样的键,你应该使用这样的语法:
$something->{'keyword-name'}
因此,您可以访问Simple XML Generated Properties,如:
$picture_container->{'month-name'}[0]['channel_name'][1]->title;
答案 2 :(得分:-2)
只需在使用方括号包装时尝试删除->
运算符。类似如下:
<?php
$picture_container = simplexml_load_file('data.xml');
echo $picture_container["month-name"][0]["channel-name"][1]->title;
?>