请大侠帮忙通过Ajax发送请求后用php如何解析XML

解决方案 »

  1.   

    用json不是更好?xml的话,php有DOM类多GOOGLE一下,PHP解DOM是很普通的需求
      

  2.   

    +1
    硬要XML的话 传送门
    使劲按我
      

  3.   

    参考里面我写的dom或者正则~~
    http://topic.csdn.net/u/20101103/10/8b194c51-ed5d-4026-a878-e33223cf0ffb.html
      

  4.   

    <?php
    Header("content-type:text/html; charset=utf-8"); //设置编码
    $Xml = Simplexml_Load_file('a.xml');  //载入xml文件 $lists和xml文件的根节点是一样的
    Echo $Xml->company."<br>";
    Echo $Xml->town."<br>id:";
    Echo $Xml->town['id']."<br>parent:";
    Echo $Xml->town['parent']."<br>";Echo "<br>循环读取:<br>";
    Foreach($Xml->user as $users){     //有多个user,取得的是数组,循环输出
    Echo "-------------------<br>";
    Echo "姓名:".$users->name."<br>";
    Echo "编号:".$users->age."<br>";
    Echo "性别:".$users->age['sex']."<br>";
    Echo "序号:".$users->height."<br>";
    }Echo "<br>循环读取:<br>";
    Foreach($Xml->town as $towns){     //有多个user,取得的是数组,循环输出
    Echo "-------------------<br>";
    Echo "id:".$towns['id']."<br>";
    Echo "归属:".$towns['parent']."<br>";
    Echo "地区:".$towns."<br>";
    }
    ?>
    <?xml version="1.0" encoding="utf-8"?>
    <list>
    <company>武汉XXX公司</company>
    <user>
    <name>张三</name>
    <age sex="未知">a</age>
    <height>1</height>
    </user>
    <user>
    <name>李四</name>
    <age sex="女">b</age>
    <height>2</height>
    </user>
    <user>
    <name>王五</name>
    <age sex="男">c</age>
    <height>3</height>
    </user>
    <town parent="0" id="1">台北</town>
    <town parent="1" id="2">板桥</town>
    <town parent="0" id="3">桃园</town>
    </list>
      

  5.   

    //读取xml 并解析xml各节点 $doc=new  DOMDocument();
     $doc->load('book.xml');
     //获取根节点
     $books=$doc->getElementsByTagName("book");
     //循环所有节点
     foreach ($books as $book){
      //获取节点的值 item(0)->nodeValue;
         $authors=$book->getElementsByTagName("author");
         $author=$authors->item(0)->nodeValue;
     }
     echo '作者'.$author;