PHP的xml字符串解析(在线求解) header('Content-Type: text/xml');加上这行代码试试 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、simplexml 会忽略根节点对于你的示例数据,根节点 order_info 被忽略,所以 $xml->order_info 不存在,所以你不会有输出打印一级子节点的值应这样写foreach($xml->children() as $k=>$v) { if(empty($v)) //这里检查是否有子节点,如有就不打印。这样就跳过了 goods_infos echo "$k $v\n";}2、如果是打印 goods_infos 下的 good 子节点,则写作foreach($xml->goods_infos->good as $item) { foreach($item as $k=>$v) echo "$k $v\n";}3、如果你的程序文件不是 utf-8 的,还应该有$xmlStr = str_replace("encoding='utf-8'", "encoding='gbk'", $xmlStr);即将字符集改为真实的字符集当然打印的结果仍然是 utf-8 的 非常感谢你的详细解答,但现在遇到个问题是,我的xml文件在simplexml_load_string处理之前是正常的,但处理之后输出发现乱码了,而且转码好像转不过来,我的程序文件是gbk的,所以我加过$xmlStr = str_replace("encoding='utf-8'", "encoding='gbk'", $xmlStr);了 不是说了吗?当然打印的结果仍然是 utf-8 的因为 utf-8 是 xml 的工作语言你需要逐个的对待打印的数据进行转码比如 echo iconv('utf-6', 'gbk', $v); 如何用PHP只发送POST而不返回值 我的问题 酒店网上预订系统的一个问题 求教:PHP如何用处理图像功能实现论坛彩字啊?(100分) PHP中当前页面值的传递 什么样的开发经验说得上是开发项目的经验?[PHP编程] 怎样写一个可以把区位码转换成汉字的php? 请问~能不能直接用IIS解释PHP? 请教 用这种安全验证方法 php上传Excel方法 够安全么? 大神看看PHP代码哪里错了? php查找问题 php如何知道发帖的人是谁(哪个注册用户)
对于你的示例数据,根节点 order_info 被忽略,所以 $xml->order_info 不存在,所以你不会有输出
打印一级子节点的值应这样写foreach($xml->children() as $k=>$v) {
if(empty($v)) //这里检查是否有子节点,如有就不打印。这样就跳过了 goods_infos
echo "$k $v\n";
}
2、如果是打印 goods_infos 下的 good 子节点,则写作foreach($xml->goods_infos->good as $item) {
foreach($item as $k=>$v)
echo "$k $v\n";
}
3、如果你的程序文件不是 utf-8 的,还应该有
$xmlStr = str_replace("encoding='utf-8'", "encoding='gbk'", $xmlStr);
即将字符集改为真实的字符集
当然打印的结果仍然是 utf-8 的
当然打印的结果仍然是 utf-8 的
因为 utf-8 是 xml 的工作语言
你需要逐个的对待打印的数据进行转码
比如 echo iconv('utf-6', 'gbk', $v);