我想要下面xml文件中
<xsinger_name>
<xsong_name>
<xsong_url>
这几项内容。如果有多个的话。可以循环读取
===================  <?xml version="1.0" encoding="gb2312" ?> 
  <qqmusic>
  <curtime>
  <![CDATA[ 1176053531 
  ]]> 
  </curtime>
  <xmodifytime>
  <![CDATA[ 1176053531 
  ]]> 
  </xmodifytime>
  <xmusicnum>1</xmusicnum> 
  <minemusiclist>
  <minemusic>
  <xqusic_id>409055177</xqusic_id> 
  <xclass>5</xclass> 
  <xexpire_time>0</xexpire_time> 
  <xctype>1</xctype> 
  <xquote>0</xquote> 
  <xdesc>
  <![CDATA[  
  ]]> 
  </xdesc>
  <xkey>
  <![CDATA[  
  ]]> 
  </xkey>
  <xsinger_name>
  <![CDATA[ 胡杨林 
  ]]> 
  </xsinger_name>
  <xsong_name>
  <![CDATA[ 香水有毒 
  ]]> 
  </xsong_name>
  <xsong_url>
  <![CDATA[ http://www.feelingwind.com/BBS/UploadFile/2005-12/2005121123303742178.mp3 
  ]]> 
  </xsong_url>
  <xsong_size>0</xsong_size> 
  <xsong_playtime>0</xsong_playtime> 
  <xsong_diskname>0</xsong_diskname> 
  <xsong_dissid>0</xsong_dissid> 
  <xis_word>-999</xis_word> 
  <xcopy_right>-999</xcopy_right> 
  <xsinger_id>-999</xsinger_id> 
  </minemusic>
  </minemusiclist>
  <systemtime>
  <![CDATA[ 1176053531 
  ]]> 
  </systemtime>
  </qqmusic>

解决方案 »

  1.   

    PHP有XML扩展,可以直接使用php提供的函数操作~
      

  2.   

    SimpleXML很方便的,必须是PHP5以上版本
      

  3.   

    如果你的xml是远程的,就不必劳神费力了
      

  4.   


    $xml_file = 'book.xml';
    $xml = simplexml_load_file($xml_file);
    foreach ($xml->minemusiclist->children() as $children)
    {
    foreach ($children->children()as $child)
    {
    if (($child->getName()=='xsong_name')||($child->getName()=='xsinger_name')||($child->getName()=='xsong_url'))
    {
    echo $child->getName().":".$child."<br>";
    }
    }
    }