1

だから私はphpでdomDocsをいじっていて、多くのノードの構造を調べていました。スクリプトAPP_IDが探していたことを検出すると、兄弟の値 を返す必要がありますAPP_USER。私はここで解決策を見つけられませんでした.XPathとjQueryだけが、それがどのように使用されることを意味するかを「回避」していると思います.

とても簡単です。 foreach を呼び出す前に、たとえば$i兄弟の値を「呼び出す」反復変数を 1 つ入れます。

$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して1レベル上に移動し、繰り返して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 に答える