一个xml文档test.xml
<?xml version="1.0" encoding="UTF-8"?>
<root>
<body_detail>
 <table cellpadding="0" cellspacing="0" border="0" class="tab_normal">
                <tr>
                  <td>
                    <input type="radio" id="rad_family" name="rad_family" class="rad_normal" value="chinese" />
                  </td>
                  <td>
                    <div id="lbl_family_chinese" class="lbl_normal">family chinese</div>
                  </td>
                  <td>
                    <input type="radio" id="rad_family" name="rad_family" class="rad_normal" value="english" />
                  </td>
                  <td>
                    <div id="lbl_family_english" class="lbl_normal">family english</div>
                  </td>
                  <td>
                    <input type="radio" id="rad_family" name="rad_family" class="rad_normal" value="japanese" />
                  </td>
                  <td>
                    <div id="lbl_family_japanese" class="lbl_normal">family japanese</div>
                  </td>
                </tr>
              </table>
</body_detail>
</root>怎样读取得到body_detail的数据呢
我刚接触xml部分的函数
请教一下

解决方案 »

  1.   


    $doc = new DOMDocument; 
    $doc->load('test.xml'); 
    $body = $doc->documentElement->getElementsByTagName('body_detail');
    echo $body->item(0)->nodeValue;
    还可以用simpleXML或者其它的.
      

  2.   


    可不可以给个simpleXML的例子呢
    还搞不懂simpleXML的
      

  3.   

    jakey9826   我刚试过那段代码了,只得到文字
    如果要<table cellpadding="0" cellspacing="0" border="0" class="tab_normal"> 
                    <tr> 
                      <td> 
                        <input type="radio" id="rad_family" name="rad_family" class="rad_normal" value="chinese" /> 
                      </td> 
                      <td> 
                        <div id="lbl_family_chinese" class="lbl_normal">family chinese </div> 
                      </td> 
                      <td> 
                        <input type="radio" id="rad_family" name="rad_family" class="rad_normal" value="english" /> 
                      </td> 
                      <td> 
                        <div id="lbl_family_english" class="lbl_normal">family english </div> 
                      </td> 
                      <td> 
                        <input type="radio" id="rad_family" name="rad_family" class="rad_normal" value="japanese" /> 
                      </td> 
                      <td> 
                        <div id="lbl_family_japanese" class="lbl_normal">family japanese </div> 
                      </td> 
                    </tr> 
                  </table> 
    全部得到怎么办呢
      

  4.   

    因为xml是把他下面的当做节点来处理的,所以返回的是值.不是全部.
    如果全部,然后你要的又比较规范的话,用正则来取吧,呵呵.
      

  5.   

    <?php$fileAddress='Noname5.xml';
    $handle=fopen($fileAddress,'r');
    $fileLen=filesize($fileAddress);
    $content=fread($handle,$fileLen);
    fclose($handle);$offSetEnd=0;
    $i=0;
    function showContent(){
    $i++;
    $strPrefix='<body_detail>';
    $strSuffix='</body_detail>';
    global $fileLen,$content,$offSetStart,$offSetEnd,$i; $strStart=strpos($content,$strPrefix,$offSetEnd+14); $strEnd=strpos($content,$strSuffix,$offSetEnd+14); $offSetEnd=$strEnd; if($strEnd==''){exit();} echo (substr($content,$strStart+13,$strEnd-$strStart-13)).'<hr>'; showContent();
    }showContent();?>
      

  6.   

    <?php$fileAddress='Noname5.xml';
    $handle=fopen($fileAddress,'r');
    $fileLen=filesize($fileAddress);
    $content=fread($handle,$fileLen);
    fclose($handle);$offSetEnd=0;
    $i=0;
    function showContent(){
    $i++;
    $strPrefix='<body_detail>';
    $strSuffix='</body_detail>';
    global $fileLen,$content,$offSetStart,$offSetEnd,$i; $strStart=strpos($content,$strPrefix,$offSetEnd+14); $strEnd=strpos($content,$strSuffix,$offSetEnd+14); $offSetEnd=$strEnd; if($strEnd==''){exit();} echo (substr($content,$strStart+13,$strEnd-$strStart-13)).'<hr>'; showContent();
    }showContent();?>