php如何解释xml,关于 PHP 中如何解析 XML 的问题

我现在要处理这样一个 XML

bVtxbd

超长待机

"续航时间: "

"充电预估: "

"续航时间"

"充电预估"

未知

电池详情

Android 系统

WLAN 空闲状态

蓝牙空闲状态

CPU 空闲状态

语音通话

数据

待机

未知

屏幕

WLAN

我的 PHP 代码为

load("ZH-CNstrings.xml");

// print $xmlDoc->saveXML();

$x = $xmlDoc->documentElement;

foreach ($x->childNodes AS $item)

{

echo "";

print var_dump($item);

echo "";

}

?>

现在我可以去到 string 的内容 “超长待机”如 但 name 的内容 “mode_label_longest_standby” 我不知道怎么取出来

回复内容:

我现在要处理这样一个 XML

bVtxbd

超长待机

"续航时间: "

"充电预估: "

"续航时间"

"充电预估"

未知

电池详情

Android 系统

WLAN 空闲状态

蓝牙空闲状态

CPU 空闲状态

语音通话

数据

待机

未知

屏幕

WLAN

我的 PHP 代码为

load("ZH-CNstrings.xml");

// print $xmlDoc->saveXML();

$x = $xmlDoc->documentElement;

foreach ($x->childNodes AS $item)

{

echo "";

print var_dump($item);

echo "";

}

?>

现在我可以去到 string 的内容 “超长待机”如 但 name 的内容 “mode_label_longest_standby” 我不知道怎么取出来

这么整齐的XML,lz要不要用正则试试?

超长待机

"续航时间: "

"充电预估: "

"续航时间"

"充电预估"

未知

电池详情

Android 系统

WLAN 空闲状态

蓝牙空闲状态

CPU 空闲状态

语音通话

数据

待机

未知

屏幕

WLAN';

preg_match_all("|(.*)|", $str, $result, PREG_SET_ORDER);

var_dump($result);

array(17) {

[0]=>

array(3) {

[0]=>

string(63) "超长待机"

[1]=>

string(26) "mode_label_longest_standby"

[2]=>

string(12) "超长待机"

}

[1]=>

array(3) {

[0]=>

string(80) ""续航时间: ""

[1]=>

string(39) "battery_info_remaining_discharging_time"

[2]=>

string(16) ""续航时间: ""

}

[2]=>

array(3) {

[0]=>

string(77) ""充电预估: ""

[1]=>

string(36) "battery_info_remaining_charging_time"

[2]=>

string(16) ""充电预估: ""

}

[3]=>

array(3) {

[0]=>

string(99) ""续航时间""

[1]=>

string(60) "ongoing_notification_battery_info_remaining_discharging_time"

[2]=>

string(14) ""续航时间""

}

[4]=>

array(3) {

[0]=>

string(96) ""充电预估""

[1]=>

string(57) "ongoing_notification_battery_info_remaining_charging_time"

[2]=>

string(14) ""充电预估""

}

[5]=>

array(3) {

[0]=>

string(57) "未知"

[1]=>

string(26) "battery_info_value_unknown"

[2]=>

string(6) "未知"

}

[6]=>

array(3) {

[0]=>

string(63) "电池详情"

[1]=>

string(26) "battery_info_details_title"

[2]=>

string(12) "电池详情"

}

[7]=>

array(3) {

[0]=>

string(63) "Android 系统"

[1]=>

string(24) "uid_label_android_system"

[2]=>

string(14) "Android 系统"

}

[8]=>

array(3) {

[0]=>

string(61) "WLAN 空闲状态"

[1]=>

string(19) "uid_label_wlan_idle"

[2]=>

string(17) "WLAN 空闲状态"

}

[9]=>

array(3) {

[0]=>

string(67) "蓝牙空闲状态"

[1]=>

string(24) "uid_label_bluetooth_idle"

[2]=>

string(18) "蓝牙空闲状态"

}

[10]=>

array(3) {

[0]=>

string(59) "CPU 空闲状态"

[1]=>

string(18) "uid_label_cpu_idle"

[2]=>

string(16) "CPU 空闲状态"

}

[11]=>

array(3) {

[0]=>

string(59) "语音通话"

[1]=>

string(22) "uid_label_radio_active"

[2]=>

string(12) "语音通话"

}

[12]=>

array(3) {

[0]=>

string(51) "数据"

[1]=>

string(20) "uid_label_radio_data"

[2]=>

string(6) "数据"

}

[13]=>

array(3) {

[0]=>

string(51) "待机"

[1]=>

string(20) "uid_label_radio_idle"

[2]=>

string(6) "待机"

}

[14]=>

array(3) {

[0]=>

string(47) "未知"

[1]=>

string(16) "hw_label_unknown"

[2]=>

string(6) "未知"

}

[15]=>

array(3) {

[0]=>

string(46) "屏幕"

[1]=>

string(15) "hw_label_screen"

[2]=>

string(6) "屏幕"

}

[16]=>

array(3) {

[0]=>

string(42) "WLAN"

[1]=>

string(13) "hw_label_wlan"

[2]=>

string(4) "WLAN"

}

}

如果xml里面的string标签的name值是唯一的,你可以这样子试试:

$x = $xmlDoc->getElementsByTagName("string");

$arr = array();

foreach ($x as $item){

$arr[$item->attributes->item(0)->nodeValue] = $item->nodeValue;

}

print_r($arr);

得到的结果是

Array

(

[mode_label_longest_standby] => 超长待机

[battery_info_remaining_discharging_time] => "续航时间: "

[battery_info_remaining_charging_time] => "充电预估: "

[ongoing_notification_battery_info_remaining_discharging_time] => "续航时间"

[ongoing_notification_battery_info_remaining_charging_time] => "充电预估"

[battery_info_value_unknown] => 未知

[battery_info_details_title] => 电池详情

[uid_label_android_system] => Android 系统

[uid_label_wlan_idle] => WLAN 空闲状态

[uid_label_bluetooth_idle] => 蓝牙空闲状态

[uid_label_cpu_idle] => CPU 空闲状态

[uid_label_radio_active] => 语音通话

[uid_label_radio_data] => 数据

[uid_label_radio_idle] => 待机

[hw_label_unknown] => 未知

[hw_label_screen] => 屏幕

[hw_label_wlan] => WLAN

)

相关标签:php

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值