1

所以我在 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++;
}

你怎么看?

4

1 回答 1

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;
        }
    }
}
于 2013-03-04T08:36:19.503 回答