Php Dom兄弟/姐妹节点 - 正确的方式

时间:2013-03-04 08:26:48

标签: php xml dom

所以我在php中玩domDocs,我正在经历许多节点的结构。当脚本找到它正在寻找的APP_ID时,他需要返回他的兄弟值APP_USER。 我在这里找不到任何解决方案,只有XPath和jQuery,我发现'避免'如何使用它。

这很简单 在调用foreach之前,请输入一个迭代变量,例如$i然后“召唤”兄弟的价值。

$apps = $root->getElementByTagName( 'APP_ID' );
$i=0
foreach( $apps as $app ) {
    if( $app->item(0)->nodeValue == CONSTANT-ID ) { // just condition
        $user = $root->getElementsByTagName( "APP_USER" );
        echo $user->item($i)->nodeValue;
        // this $i means it returns brother's value
    }
    $i++;
}
你觉得怎么样?

1 个答案:

答案 0 :(得分:0)

$app开始,您可以使用parentNode上升一个级别,然后迭代childNodes以找到同级APP_USER

if( $app->nodeValue == CONSTANT-ID ) { // just condition
    foreach ($app->parentNode->childNodes as $child) {
        if ($child->localName == 'APP_USER') {
            echo $child->nodeValue;
        }
    }
}