<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 下的所有节点取出来
<type>1</type>
<title>标题2</title>
<porid>tiid1</porid>
<suname>Brand</suname>
</post>
$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
把所有post节点下的数据读取出来,然后循环,碰到porid节点为tiid1的时候,break,就ok了
<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>
这样才有上下级关系