【问题标题】:Reading XML short notation value with PHP [duplicate]用 PHP 读取 XML 短符号值 [重复]
【发布时间】:2014-09-16 16:20:20
【问题描述】:
如何使用 PHP 和 SimpleXML 从以下 xml 文件中获取值 1?
data.xml
<users>
<user name="test">
<option name="enabled">1</option>
<option name="setting">on</option>
</user>
</users>
test.php
$file = 'data.xml';
$xml = simplexml_load_file($file);
foreach ($xml->users->user->option as $option) {
echo $option['name'];
}
输出
启用设置
如何输出值?
【问题讨论】:
标签:
php
xml
simplexml
xmlnode
【解决方案1】:
没有if 或switch 的可能解决方案是使用XPath:
$xml = new simplexml_load_file($file);
foreach ($xml->xpath('//option[@name="enabled"]') as $option) {
echo $option;
}
XPath 表达式上面的意思是,找到所有<option> 属性name 值等于enabled 的节点。
【解决方案2】:
找到结果:
test.php
$file = 'data.xml';
$xml = simplexml_load_file($file);
foreach ($user->option as $option) {
if ((string) $option['name'] == 'enabled') {
echo $option;
}
}
没有“if”或“switch”有没有解决方案?