热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

高分在线XML解析

高分在线求助XML解析本帖最后由HUENKE于2013-10-2515:58:22编辑<?xml version="1.0" encoding="utf-8"?><nodes><node id="
高分在线求助XML解析
本帖最后由 HUENKE 于 2013-10-25 15:58:22 编辑



type="0">











结构为 nodes下面有node下面还有node
我想做三重循环
foreach()
{
   存公司名称
     foreach()
     {
        存部门名称
             foreach()
             { 存叶子名称}
     }
}

请问我该怎么解析呢,
xml

------解决方案--------------------
你想要怎样的数据格式?,下面自己组织一下数据结构吧

$string = <<

             type="0">
        
            
        
        
            
            
        
    

XML;

$xml = new SimpleXMLElement($string);

$result = $xml->xpath('//node/@name');
while(list( , $node) = each($result)) {
    echo '@name: ',$node,"\n";
}
$result = $xml->xpath('//node/@id');
while(list( , $node) = each($result)) {
    echo '@id: ',$node,"\n";
}
$result = $xml->xpath('//node[@type=1]/../@id');
while(list( , $node) = each($result)) {
    echo '@部门的parent_id: ',$node,"\n";
}
$result = $xml->xpath('//node[@type=2]/../@id');
while(list( , $node) = each($result)) {
    echo '@叶子的parent_id: ',$node,"\n";
}

?>

------解决方案--------------------
$s =<<< XML


             type="0">
        
            
        
        
            
            
        
    

XML;
$xml = simplexml_load_string($s);

foreach($xml->node as $node) {
  foreach($node->attributes() as $k=>$v) echo "$k => $v\n";
  foreach($node->node as $node) {
    foreach($node->attributes() as $k=>$v) echo "$k => $v\n";
推荐阅读
author-avatar
灵绾绾
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有