php simplexml在xml中的元素中带有点字符

时间:2011-06-30 07:30:55

标签: php simplexml

使用以下xml格式我们如何从php中的XMLReader访问News.Env元素?

$xmlobj->News->News.Env给出了不正确的Env。

<?xml version="1.0" encoding="utf-8"?>
<News>
  <News.Env>abc</News.Env>
</News>

2 个答案:

答案 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'});