开发者

php simplexml with dot character in element in xml

开发者 https://www.devze.com 2023-03-16 21:16 出处:网络
With the below xml format how we can access News.Env element 开发者_Python百科from XMLReader in php?

With the below xml format how we can access News.Env element 开发者_Python百科from XMLReader in php?

$xmlobj->News->News.Env gives Env which is not correct.

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


This is because the dot . is the string concatenator in php. In your case it tries to concatenate $xmlobj->News->News (which doesn't exists and is therefore empty) with the constant Env (which doesn't exists too and is treated as a string. you would get a notice about this with an appropriate error_level)

$tmp = 'News.Env';
$xmlobj->News->$tmp;

or in short

$xmlobj->News->{'News.Env'};

Update: If you use SimpleXML (and according the syntax you do it) it $xmlobj "starts" with the News-(root-)Element.

$xmlobj->{'News.Env'};


Try something like

$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'});
0

精彩评论

暂无评论...
验证码 换一张
取 消