$str = <<<TEST
<?xml version="1.0" encoding="utf-8"?> 
<SBOBET  TP="R"> 
<PN ttt="英格兰超级联赛"> 
<RT tt="1/10/2009 11:00:00 AM" HN="阿仙奴" AN="保顿" HR="0 : 0" FR="1 : 0" /> 
<RT tt="1/10/2009 11:00:00 AM" HN="富咸" AN="布力般流浪" HR="退款" FR="退款" /> 
<RT tt="1/10/2009 8:45:00 AM" HN="阿士东维拉" AN="西布朗" HR="2 : 0" FR="2 : 1" /> 
<RT tt="1/10/2009 11:00:00 AM" HN="纽卡素" AN="韦斯咸" HR="1 : 1" FR="2 : 2" /> 
<RT tt="1/10/2009 11:00:00 AM" HN="爱华顿" AN="侯城" HR="2 : 0" FR="2 : 0" /> 
<RT tt="1/10/2009 1:30:00 PM" HN="史笃城" AN="利物浦" HR="0 : 0" FR="0 : 0" /> 
<RT tt="1/10/2009 11:00:00 AM" HN="朴茨茅夫" AN="曼城" HR="退款" FR="退款" /> 
<RT tt="1/10/2009 11:00:00 AM" HN="米杜士堡" AN="新特兰" HR="1 : 0" FR="1 : 1" /> 
</PN> 
<PN ttt="意大利甲组联赛"> 
<RT tt="1/10/2009 3:30:00 PM" HN="国际米兰" AN="卡利亚里" HR="0 : 0" FR="1 : 1" /> 
<RT tt="1/10/2009 1:00:00 PM" HN="热拿亚" AN="拖连奴" HR="1 : 0" FR="3 : 0" /> 
</PN> 
</SBOBET>
TEST;
$xmlObj = simplexml_load_string(iconv('gb2312','utf-8', $str));
print_r($xmlObj);你的xml不是实在是不规范呀,呵呵.

解决方案 »

  1.   


    $str = <<<TEST
    <?xml version="1.0" encoding="utf-8"?> 
    <SBOBET  TP="R"> 
    <P N="英格兰超级联赛"> 
    <R T="1/10/2009 11:00:00 AM" HN="阿仙奴" AN="保顿" HR="0 : 0" FR="1 : 0" /> 
    <R T="1/10/2009 11:00:00 AM" HN="富咸" AN="布力般流浪" HR="退款" FR="退款" /> 
    <R T="1/10/2009 8:45:00 AM" HN="阿士东维拉" AN="西布朗" HR="2 : 0" FR="2 : 1" /> 
    <R T="1/10/2009 11:00:00 AM" HN="纽卡素" AN="韦斯咸" HR="1 : 1" FR="2 : 2" /> 
    <R T="1/10/2009 11:00:00 AM" HN="爱华顿" AN="侯城" HR="2 : 0" FR="2 : 0" /> 
    <R T="1/10/2009 1:30:00 PM" HN="史笃城" AN="利物浦" HR="0 : 0" FR="0 : 0" /> 
    <R T="1/10/2009 11:00:00 AM" HN="朴茨茅夫" AN="曼城" HR="退款" FR="退款" /> 
    <R T="1/10/2009 11:00:00 AM" HN="米杜士堡" AN="新特兰" HR="1 : 0" FR="1 : 1" /> 
    </P> 
    <P N="意大利甲组联赛"> 
    <R T="1/10/2009 3:30:00 PM" HN="国际米兰" AN="卡利亚里" HR="0 : 0" FR="1 : 1" /> 
    <R T="1/10/2009 1:00:00 PM" HN="热拿亚" AN="拖连奴" HR="1 : 0" FR="3 : 0" /> 
    </P> 
    </SBOBET>
    TEST;
    $xmlObj = simplexml_load_string(iconv('gb2312','utf-8', $str));
    print_r($xmlObj);刚才看错了,把属性当成空格了,呵呵.自己遍历输出就可以了.
      

  2.   

    谢谢大家的回复 我的问题是要把上面的 xml 解析出 =》 输出 “联赛” “比赛时间” “主队” “客队” HR FR 
      

  3.   

    jakey9826 这位朋友你好,
    $str = <<<TEST
    <?xml version="1.0" encoding="utf-8"?> 
    你在前面“<<<TEST” 结尾加"TEST";
    是有输出了,那我用这个file_get_contents去拿到内容,
    像这样就没有输出。
    $str=file_get_contents(123.xml);
    $xmlObj = simplexml_load_string(iconv('gb2312','utf-8', $str));
    print_r($xmlObj);
     
      

  4.   


    楼主用这个试一下:
    <?php
    $str=file_get_contents("123.xml");
    $xmlObj = simplexml_load_string($str);
    print_r($xmlObj); 
    ?>
      

  5.   


    第一,语法错误,123.xml必须要有引号。第二,你的那个123.xml文件是什么编码,要根据需要,是否iconv。
      

  6.   

    文件simplexml_load_file("文件地址")就可以了,
    但要根据情况iconv转码.
      

  7.   

    不好意思,刚才iconv(('gb2312','utf-8', $str));不要了,
    print_r($xmlObj)这个有内容.print_r($xmlObj[p])的内容就出来
      

  8.   

    算了还是帮你写出来吧.$str = <<<TEST
    <?xml version="1.0" encoding="utf-8"?> 
    <SBOBET  TP="R"> 
    <P N="英格兰超级联赛"> 
    <R T="1/10/2009 11:00:00 AM" HN="阿仙奴" AN="保顿" HR="0 : 0" FR="1 : 0" /> 
    <R T="1/10/2009 11:00:00 AM" HN="富咸" AN="布力般流浪" HR="退款" FR="退款" /> 
    <R T="1/10/2009 8:45:00 AM" HN="阿士东维拉" AN="西布朗" HR="2 : 0" FR="2 : 1" /> 
    <R T="1/10/2009 11:00:00 AM" HN="纽卡素" AN="韦斯咸" HR="1 : 1" FR="2 : 2" /> 
    <R T="1/10/2009 11:00:00 AM" HN="爱华顿" AN="侯城" HR="2 : 0" FR="2 : 0" /> 
    <R T="1/10/2009 1:30:00 PM" HN="史笃城" AN="利物浦" HR="0 : 0" FR="0 : 0" /> 
    <R T="1/10/2009 11:00:00 AM" HN="朴茨茅夫" AN="曼城" HR="退款" FR="退款" /> 
    <R T="1/10/2009 11:00:00 AM" HN="米杜士堡" AN="新特兰" HR="1 : 0" FR="1 : 1" /> 
    </P> 
    <P N="意大利甲组联赛"> 
    <R T="1/10/2009 3:30:00 PM" HN="国际米兰" AN="卡利亚里" HR="0 : 0" FR="1 : 1" /> 
    <R T="1/10/2009 1:00:00 PM" HN="热拿亚" AN="拖连奴" HR="1 : 0" FR="3 : 0" /> 
    </P> 
    </SBOBET>
    TEST;
    $xmlObj = simplexml_load_string(iconv('gb2312','utf-8', $str));
    //print_r($xmlObj);
    foreach($xmlObj->P as $p)
    {  
      foreach($p->R as $r)
      {
        echo $p->attributes()->N . "\t";
        echo $r->attributes()->T . "\t";
        echo $r->attributes()->HN . "\t";
        echo $r->attributes()->AN . "\t";
        echo $r->attributes()->HR . "\t";
        echo $r->attributes()->FR . "\t";
        echo $r->attributes()->FR . "<br/>";
      }
    }