我现在要处理这样一个 XML

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="mode_label_longest_standby">超长待机</string>
<string name="battery_info_remaining_discharging_time">"续航时间: "</string>
<string name="battery_info_remaining_charging_time">"充电预估: "</string>
<string name="ongoing_notification_battery_info_remaining_discharging_time">"续航时间"</string>
<string name="ongoing_notification_battery_info_remaining_charging_time">"充电预估"</string>
<string name="battery_info_value_unknown">未知</string>
<string name="battery_info_details_title">电池详情</string>
<string name="uid_label_android_system">Android 系统</string>
<string name="uid_label_wlan_idle">WLAN 空闲状态</string>
<string name="uid_label_bluetooth_idle">蓝牙空闲状态</string>
<string name="uid_label_cpu_idle">CPU 空闲状态</string>
<string name="uid_label_radio_active">语音通话</string>
<string name="uid_label_radio_data">数据</string>
<string name="uid_label_radio_idle">待机</string>
<string name="hw_label_unknown">未知</string>
<string name="hw_label_screen">屏幕</string>
<string name="hw_label_wlan">WLAN</string>
</resources>
我的 PHP 代码为
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("ZH-CNstrings.xml");
// print $xmlDoc->saveXML();
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item)
{
echo "<pre>";
print var_dump($item);
echo "</pre>";
}
?>
现在我可以去到 string 的内容 “超长待机”如 但 name 的内容 “mode_label_longest_standby” 我不知道怎么取出来
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这么整齐的XML,lz要不要用正则试试?
如果xml里面的string标签的name值是唯一的,你可以这样子试试:
<?php
header("Content-type:text/html;charset=utf-8");
$xmlDoc = new DOMDocument();
$xmlDoc->load("test.xml");
$x = $xmlDoc->getElementsByTagName("string");
$arr = array();
foreach ($x as $item){
}
print_r($arr);
得到的结果是
Array
(
)