php simplexml,xml 元素中带有点字符

问题描述 投票:0回答:2

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

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

<?xml version="1.0" encoding="utf-8"?>
<News>
  <News.Env>abc</News.Env>
</News>
php simplexml
2个回答
19
投票

这是因为点

.
是php中的字符串连接符。在您的情况下,它尝试将
$xmlobj->News->News
(不存在,因此为空)与常量
Env
(也不存在,被视为字符串。您会收到关于此的通知适当的错误级别)

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

或者简而言之

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

更新:如果您使用

SimpleXML
(并且根据您执行的语法),它
$xmlobj
News
-(root-)Element“开始”。

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

1
投票

尝试类似的事情

$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'});
© www.soinside.com 2019 - 2024. All rights reserved.