<post>
        <type>1</type>
        <title id="tiid1">标题1</title>
        <porid></porid>
        <suname>Brand</suname>
    </post>
     <post>
        <type>1</type>
        <title>标题2</title>
        <porid>tiid1</porid>
        <suname>Brand</suname>
    </post>
第二个post 是关联第一个post的怎么根据 <porid>tiid1</porid>值把第二post 下的所有节点取出来

解决方案 »

  1.   

    把所有post节点下的数据读取出来,然后循环,碰到porid节点为tiid1的时候,break,就ok了
      

  2.   

    碰到proid为节点值为tiid1就break??  怎么能读出下面内容呢?<post>
            <type>1</type>
            <title>标题2</title>
            <porid>tiid1</porid>
            <suname>Brand</suname>
        </post>
      

  3.   


     $doc = new DOMDocument();
      $doc->load('file.xml');
      $posts= $doc->getElementsByTagName( "post" );
      foreach( $posts as $post )
      {
         $porids= $post ->getElementsByTagName( "porid" );
        
         if($porids->item(0)->nodeValue == 'tiid1'){
             $titles=$post->getElementsByTagName( "title" );
     $sunames=$post->getElementsByTagName( "suname" );
    echo $porids->item(0)->nodeValue.'-'. $titles->item(0)->nodeValue.'-'.$sunames->item(0)->nodeValue ;
         } 
      }
     输出:tiid1-标题2-Brand
      

  4.   


    把所有post节点下的数据读取出来,然后循环,碰到porid节点为tiid1的时候,break,就ok了
      

  5.   

    可以参考下这篇文章,PHP读取与解析XML的方法汇总
      

  6.   

    你个出的 post 节点是平行的!
    <post>
            <type>1</type>
            <title id="tiid1">标题1</title>
            <porid></porid>
            <suname>Brand</suname>
          <post>
            <type>1</type>
            <title>标题2</title>
            <porid>tiid1</porid>
            <suname>Brand</suname>
        </post>
       </post>
    这样才有上下级关系