使用以下xml格式我们如何从php中的XMLReader访问News.Env元素?
$xmlobj->News->News.Env
给出了不正确的Env。
<?xml version="1.0" encoding="utf-8"?>
<News>
<News.Env>abc</News.Env>
</News>
答案 0 :(得分:14)
这是因为点.
是php中的字符串连接符。在你的情况下,它尝试连接$xmlobj->News->News
(它不存在,因此是空的)与常量Env
(它也不存在,并被视为一个字符串。你会得到一个通知关于这个与适当的error_level)
$tmp = 'News.Env';
$xmlobj->News->$tmp;
或简而言之
$xmlobj->News->{'News.Env'};
更新:如果您使用SimpleXML
(根据您使用的语法)$xmlobj
使用News
- (root-)元素“启动”。
$xmlobj->{'News.Env'};
答案 1 :(得分:0)
尝试类似
的内容$string = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<News>
<News.Env>abc</News.Env>
</News>
XML;
$xml = simplexml_load_string($string);
print_r($xml->{'News.Env'});